Кто-нибудь тыкните носом в доки по поводу undefined и оператора ||

Scud

Новичок
Кто-нибудь тыкните носом в доки по поводу undefined и оператора ||

function test()
{
var a = this.foo || 'bar';
alert(a);
}
test();

Результат 'bar' - не могу найти в доках почему, причём в prototype.js такое поведение активно используется, а я чего-то как-то мимо этого проскочил. Кто-нибудь может дать ссылку на спецификацию или доку с разъяснениями почему тут результат 'bar', а не true?
 

Vallar_ultra

Любитель выпить :)
:))) А чё ты от него хочешь? он смотрит, не равно ли первое выражение undefined, и если не равно - то берёт его, иначе следующее.....
 

Scud

Новичок
А то я и сам понял, я не понял почему и в какой-такой спецификации такое поведение описано. Я всегда считал что результатом логической операции будет true или false...
 

Vallar_ultra

Любитель выпить :)
2Scud
Эээээ, знаешь, такие вопросы лучше отправлять на w3c.org..... именно про спецификацию ничо сказать не могу, но в JS такое поведение обычно.....
 
Сверху