Показать сообщение отдельно
  #24 (permalink)  
Старый 31.01.2010, 16:11
Аватар для Мараторий
Кандидат Javascript-наук
Отправить личное сообщение для Мараторий Посмотреть профиль Найти все сообщения от Мараторий
 
Регистрация: 22.01.2010
Сообщений: 114

Сообщение от micscr Посмотреть сообщение
if (new String('')) - здесь объект сразу приводится к логическому, и по правилам это true
if (new String('')==false) - а тут работает оператор == и правила его работы - особенные (стр 85 все подробно описано)
Я вот чего не очень понимаю. Зачем при сравнении чего-либо с логическим выражением надо это логическое выражение приводить к числу, а не сравниваемый объект приводить к логическому выражению?
Тогда эти две операции были бы эквивалентны:
if(expr) ...
// и
if(expr == true) ...
А в действительности получается, что они не эквивалентны.
Ответить с цитированием