On Apr 21, 2013, at 12:05 PM, Brendan Eich wrote:
>>>
>>> What I mean is that:
>>> let obj = {__proto__: null}
>>> will always create an object whose [[Prototype]]
>
> Didn't you mean "an object whose property named '__proto__'" here?
>
>>> is null. Regardless of whether or not anybody has done:
>>> delete Object.prototype.__proto__.
>>
>> Yes, that's what I just wrote!
>>
>> What part was unclear?
>
> Sorry, I misread your "[[Prototype]] is null" as "property named '__proto__'
> is null".
>
> But you cannot break ES5. Why are you changing things to deviate from it,
> never mind from ES6 consensus?
>
We must be talking across each other...web reality is that
var obj = {__proto__: someObj};
creates a new object whose [[Prototype]] is the value of someObj (assuming it
is valid for that use). Right? Doesn't that mean that ES5 implementations
that support that semantics already deviate from the ES5 spec which says that
an own property named "__proto__" should be created via [[DefineOwnProperty]]?
Allen
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss