A case for removing the seal/freeze/isSealed/isFrozen traps
David Bruant
bruant.d at gmail.com
Wed Feb 13 11:53:27 PST 2013
Le 13/02/2013 20:36, Tom Van Cutsem a écrit :
> Hi David,
>
> I went a bit too far suggesting frozen objects could de-facto
> disappear with proxies.
> I'm still unclear on the need for specific
> seal/freeze/isSealed/isFrozen traps
>
>
> I think Allen and I reached consensus that we might do without those
> traps.
Excellent!
> In addition, Allen was considering an alternative design where the
> "state" of an object (i.e. "extensible", "non-extensible", "sealed" or
> "frozen") is represented explicitly as an internal property, so that
> Object.isFrozen and Object.isSealed must not "derive" the state of an
> object from its properties.
Interesting.
So what would happen when calling Object.isFrozen on a proxy? Would
Object.isFrozen/isSealed/isExtensible reach out directly to the target?
or a unique "state" trap returning a string for all of them? ("state" is
too generic of a name, but you get the idea)
Regardless on the final decision on (full) notification proxies, maybe
these operations (isSealed/isFrozen) could have notification trap. The
invariant is that the answer has to be the target one (all the time), so
the trap return value is irrelevant. Like the getPrototypeOf trap.
David
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20130213/eb73fce4/attachment.html>
More information about the es-discuss
mailing list