2013/1/20 Kevin Smith <khs4...@gmail.com>

>
>  It is not. At the exit of the get trap, the JS engine checks whether
>> invariants should be enforced for the given property on the target. In your
>> case, the runtime sees that the target has a non-configurable non-writable
>> property called 'foo' with 1 as value. When you try to return 0, it will
>> throw a TypeError because of invariant violation. You can read about
>> invariants at
>> http://wiki.ecmascript.org/doku.php?id=harmony:direct_proxies#invariant_enforcement
>>
>>
> Excellent - thanks for the link!
>

I wrote an introductory article a while back explaining precisely the
interaction between frozen objects and proxies, and the invariant checks.
Easier to digest than the draft spec on the wiki:
http://soft.vub.ac.be/~tvcutsem/invokedynamic/frozen-proxies

Cheers,
Tom
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to