Additionally to JSON, I'd like to ask about if decisions have been made
for __proto__ in object literal notation.
David
Le 30/05/2012 14:07, Felix Böhm a écrit :
After reading that __proto__ is becoming standardized, I was wondering
what the impacts on JSON would be. JSON is a subset of ECMAScript, so
__proto__ would break current semantics. Even worse, try to run
JSON.parse('{"__proto__": 1}'). The result in Chrome is an empty
object. It doesn't inherit from Number.prototype, the __proto__
property simply gets ignored. In terms of portability, that's really bad.
The only solution I can think of would be the {prop = value} syntax,
so that __proto__ can only be set via {__proto__ = obj}. Considering
that this syntax is intended to trigger setters, it would make a lot
of sense.
I know that existing code will break, even some of my own scripts use
__proto__ with the old syntax. But I knew that __proto__ is
proprietary, and I didn't expect it to work forever.
Otherwise, the JSON spec needs to be changed. I doubt that Doug
Crockford would support that.
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss