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() вызывается