[[Set]] and inherited readonly data properties

Brendan Eich brendan at mozilla.org
Wed Mar 26 13:35:29 PDT 2014


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


More information about the es-discuss mailing list