On Tue, Apr 12, 2011 at 3:57 AM, Lasse Reichstein <
[email protected]> wrote:

> On Tue, 12 Apr 2011 07:55:26 +0200, Allen Wirfs-Brock <
> [email protected]> wrote:
>
>
>> On Apr 11, 2011, at 6:45 PM, Axel Rauschmayer wrote:
>>
>>  var obj={}.valueOf.call(obj);  // ToObject in case primitive value passed
>>>>
>>> ...
>
>  {}.valueOf  is the same value as Object.prototype.valueOf assuming none of
>> the standard definitions have been over-written.  See the comment thread of
>> http://www.wirfs-brock.com/allen/posts/166 for a debate as to which of
>> these forms is more or less optimizable.
>>
>> Object.prototype.valueOf as specified is essentially a call to the
>> internal ToObject operation that wrappers primitive values. I put it in to
>> deal with cases like getDefiningObject("some string", "match")
>>
>
>
> In that case, why not just
>  obj = Object(obj);
>
> It has the added advantage of not returning the global object for null and
> undefined,
>

For null and undefined, Object.prototype.valueOf throws. It does not return
the global object.



> but just a plain new object (although either can be said to be wrong in
> this case).
>
> /L
> --
> Lasse Reichstein - [email protected]
>
> _______________________________________________
> es-discuss mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/es-discuss
>



-- 
    Cheers,
    --MarkM
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to