Сообщение от Niar
|
if (new String('')==false) alert('равно')
Ну а тут false то почему
|
Черт. Точно. Вы правы.
При сравнении объекта и логического выражения.
Логическое false "превращается" в 0
Объект сначала "превращается" в ToPrimitive(object)
Потом этот результат переходит в число ToNumber(ToPrimitive(object))
Видимо ToPrimitive(new String('')) -> ""
ToNumber(ToPrimitive(new String(''))) = ToNumber("") -> 0
ToNumber(false) -> 0
0 === 0
Вот так я это вижу.