Может кто объяснить =)?
var foo = "0"; if(foo) console.log(true); else console.log(false); if(foo == true) console.log(true); else console.log(false); Выведет: true false Очень странно, я всегда думал, что в инструкции if, идет приведение условия к булеву типу... Может кто раскроет мне глаза? |
mexoboy, в первом условии переменная foo определена - true. Во втором не равна true - false...
Что не понятно? |
Цитата:
|
http://javascript.ru/ecma/part11#a-11.9.3
http://javascript.ru/ecma/part12#a-12.5 Лучшие объяснения. |
Там же не написано, почему так.
|
Matre,
физика отвечает на вопрос "как происходит", философия -- на вопрос "почему происходит". Если вас не устраивает вариант "проектировщики языка так захотели", то можете пофилософствовать самостоятельно. |
Цитата:
|
Цитата:
В php if("0") - выдаст false. Matre Я посмотрю ты троль еще тот. P.s. Kolyaj спасибо за ссылки. |
Цитата:
— {foo : 3} Ты можешь представить себе такой диалог? Я не могу. Ответ может быть либо "истина" — true, либо "ложь" — false. И сарказма никакого не было. |
Цитата:
Плохой я или хороший программист - мне сложно оценить (судя по занимаемой должности и отзывах вроде неплохой). Но вот судя по комментарию - что зачем ссылки давать, если там нет ответа на вопрос (явно с упором, что автор дибил) - по мне-так кажется тролизмом. Не все рождаются гениями, каждый учится на своих ошибках и на опыте других. Мне кажется нормальное явление? Кстати задал данный вопрос всем своим знакомым программистам - ответил только один человек сходу - программист на python |
Часовой пояс GMT +3, время: 01:10. |