Changing [[Prototype]]

Brandon Benvie brandon at
Mon Dec 24 06:50:45 PST 2012

That doesn't seem to be a problem. Host objects may be losing most/all of
their magic but it's certainly reasonable that they have privileged access
to capabilities. I think it makes sense to frame deleting __proto__
as simply removing access to a capability from the user, but the capability
still theoretically existing if you somehow have privileged access to use

I think a bigger question is how DOM nodes will handle non-extensibility.
If I Object.preventExtensions a node and then this scenario happens, which
happens to that node? Or do nodes just start throwing whenever you try to
make them non-extensible? I don't even know what happens currently, come to
think of it. It's certainly not a common or useful thing to do.

On Monday, December 24, 2012, David Bruant wrote:

> With the problem at hand and the solution currently being proposed (nodes
> changing of [[Prototype]] on adoptNode), it will remain possible to observe
> objects changing of [[Prototype]] after a "delete
> Object.prototype.__proto__". I don't know to what extends it's a good or a
> bad thing, but I thought it's worth mentionning.
> David
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the es-discuss mailing list