Re: @@toStringTag spoofing for null and undefined

Gary Guo nbdd0121 at
Fri Jan 30 22:03:17 PST 2015

Are the checks for these internal slots continuing to exist? Or shall we just set the @@toStringTag on their prototype and drop these steps.

For example:
If the this value is undefined, return "[object Undefined]".
If the this value is null, return "[object Null]".
If O has an [[ParameterMap]] internal slot, let builtinTag be "Arguments".          
Else, let builtinTag be "Object".
Let tag be the result of GetV (O, @@toStringTag).
If tag is undefined, let tag be builtinTag.
Else, If Type(tag) is not String, let tag be "???".
Return the String value that is the result of concatenating the three Strings "[object ", tag, and "]".

Under the condition that Object.prototype[@@toStringTag], String.prototype[@@toStringTag]], etc are properly set.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>
-------------- next part --------------
es-discuss mailing list
es-discuss at

More information about the es-discuss mailing list