Показать сообщение отдельно
  #28 (permalink)  
Старый 31.01.2010, 16:31
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,566

Сообщение от Мараторий Посмотреть сообщение
Я вот чего не очень понимаю. Зачем при сравнении чего-либо с логическим выражением надо это логическое выражение приводить к числу, а не сравниваемый объект приводить к логическому выражению?
Может потому что оператор == изначально нацелен именно на определение равенства разнотипных элементов. И если приводить сложные типы данных сразу к логическому значению теряется много вариантов.
Ведь тут new String('')==false получается: сначала false в 0 потом объект в пустую строку и пустая строка в 0.
Не забываем что своим объектам можно переопределять метод valueOf и кто знает тогда как он будет сравниваться например со строкой или числом.
Ответить с цитированием