Показать сообщение отдельно
  #5 (permalink)  
Старый 08.12.2009, 11:57
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

ECMA-262-3: 11.4.6 Унарный оператор +.

Вообще, может зависеть не только от toString(), но и от valueOf(), т.к. ToNumber (9.3/9.3.1) вызывает преобразование ToPrimitive.

Соответственно, если переопределить toString/valueOf результат может варьировать.

Сообщение от subzey
Number(Array().toString()); // = Number("0") = 0
= Number("") = 0

Сообщение от subzey
Кстати, parseInt([1, 2]) вернет-таки значение 1.
А там тоже первым делом toString() вызывается
__________________
Тонкости ECMAScript
Ответить с цитированием