bruant.d at gmail.com
Mon Dec 24 07:12:52 PST 2012
Le 24/12/2012 15:50, Brandon Benvie a écrit :
> 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 it.
Some may rely on [[Prototype]] not changing to prove JS programs.
If you delete __proto__ and use this knowledge to assume [[Prototype]]
while it changes behind your back, it's not really helpful. While I'm
saying this, I realize that the set of operations which will change
[[Prototype]] is (will be) well-defined and the exact [[Prototype]] it
changes to is not arbitrary. So maybe things are fine.
> 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?
The throwing is what I suggested at www-dom.
More information about the es-discuss