July 25, 2012 - TC39 Meeting Notes

Brendan Eich brendan at mozilla.org
Tue Jul 31 21:05:40 PDT 2012

David Bruant wrote:
> From a practical point of view, if 2 implementations differ on one 
> aspect of the language, it means that there is no content relying on 
> either of the 2 implementations for that aspect of the language, 
> whether they follow the spec or even both diverge differently from it.

It's not that simple on the web. For instance, longstanding IE vs. 
Netscape/Mozilla forking, e.g.

   if (document.all) { ... } else { ... }

can mean some divergence among the "else" browsers is ok because not 
relied on there, but not ok in the "then" case.

You're probably right, but we are not making data and accessors 
asymmetric in the sense that a non-writable data property and a get-only 
accessor on a prototype object both throw (strict) or silently fail to 
update the LHF (non-strict) on assignment that would otherwise create a 
shadowing property in a delegating object.

This was debated at last week's TC39 meeting. Between the desire to 
preserve this symmetry (not paramount, there are many dimensions and 
symmetries to consider) and the V8 bug being fixed (and the JSC bug on 
which the V8 bug was based already being fixed in iOS6), I believe we 
kept consensus to follow the spec.


More information about the es-discuss mailing list