Claude Pache (2014-12-27T07:41:44.000Z)
I guess that V8 follows an old version of the spec draft. That particular behaviour was modified in Rev 28. See:

https://bugs.ecmascript.org/show_bug.cgi?id=3252

—Claude

> Le 27 déc. 2014 à 08:17, Axel Rauschmayer <axel at rauschma.de> a écrit :
> 
> This is current V8 behavior:
> 
> ```
> > let obj = {};
> > obj[Object(Symbol())] = true;
> TypeError: Cannot convert object to primitive value
> 
> > '' + Object(Symbol())
> TypeError: Cannot convert a Symbol wrapper object to a primitive value
> ```
> 
> Both exceptions make a lot of sense, but I don’t see that in the spec. The way I’d expect it to happen is via `Symbol.prototype[@@toPrimitive]` – it would always throw. But that’s not the case.
> 
> https://people.mozilla.org/~jorendorff/es6-draft.html#sec-symbol.prototype-@@toprimitive
> 
> -- 
> Dr. Axel Rauschmayer
> axel at rauschma.de
> rauschma.de
> 
> 
> 
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20141227/cbb5abce/attachment.html>
d at domenic.me (2015-01-05T21:28:08.178Z)
I guess that V8 follows an old version of the spec draft. That particular behaviour was modified in Rev 28. See https://bugs.ecmascript.org/show_bug.cgi?id=3252