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 <[email protected]> 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 > [email protected] > rauschma.de > > > > _______________________________________________ > es-discuss mailing list > [email protected] > https://mail.mozilla.org/listinfo/es-discuss
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

