Mark S. Miller wrote:
This mistake is my single biggest regret from the ES5 days. We had a
chance to get this right when it would have been rather painless and
we blew it.
Indeed, as JSC and (therefore, at the time it was copying semantics) V8
did implement a "fix" to the "override mistake".
Have to let this one go, and look to the future.
Although it can no longer be fixed without a lot of pain, I still
think the pain of not fixing it will be greater. However, I'm sick of
arguing about this one and have become resigned to using tamperProof
<https://code.google.com/p/google-caja/source/browse/trunk/src/com/google/caja/ses/repairES5.js#338>
rather than freeze. Using tamperProof rather than freeze, your example
will work.
If enough others become convinced that this still can and should be
fixed, we should still fix this. However, someone else would need to
volunteer to champion it within TC39. Any volunteers?
Wasn't there another idea, which doesn't help code that must run in old
browsers, but which could help down the road? I mean the := operator as
define-property not put. Didn't we defer that without prejudice?
/be
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss