Почему строка (null )работает?

nullи undefinedне имеют метода toStringили valueOf. Афаик, использующий String, вызывает метод toStringсвоего параметра (, например. String({})=>[object Object]).

Почему тогда работают String(null)или String(undefined? Это неявно не делает Object.prototype.toString.call(null). потому что это оценивается как [object Null].

[править] :из спецификации ECMA -262/5-е издание (стр. 48 ). Это не добавляет ясности, я бы сказал:

/*
Table 13 — ToString Conversions  
-------------------------------------------------------------------------
Argument Type  | Result  
-------------------------------------------------------------------------
Undefined      | "undefined"
Null           | "null"  
Boolean        | If the argument is true, then the result is "true".
...            |...
*/
22
задан KooiInc 28 April 2012 в 09:31
поделиться