Early error on '0' followed by '8' or '9' in numeric literals does not seem to be web-compatible

Brendan Eich brendan at mozilla.org
Tue Aug 5 11:23:19 PDT 2014


Mark S. Miller wrote:
> Because of compatibility constraints, JS history can generally proceed 
> only in an additive manner, which means a steady degradation of 
> quality along the "simplicity" dimension. An opt-in mode switch is the 
> only way to escape that dynamic.

Not really relevant here, though: 08 and 09 were allowed from the dawn 
of JS.

Also, another way out than strict mode is to extend the language with 
better forms and let the bad old ones fade away. This does take time. 
Simplicity in teaching and actual practice can be addressed by subsets 
both taught and linted or even checked/compiled. Just sayin' ;-).

> Strict mode is the only one we've got, and the only one we're likely 
> to have in the foreseeable future. Strict mode should not accept octal 
> literals. Regarding sloppy mode, it continues to exist only for the 
> sake of legacy compat, so adding more crap to it for better web compat 
> is the right tradeoff -- as long as the crap stays quarantined within 
> sloppy mode.

The question is, are we extending strict mode? See Allen's mail before 
yours.

We've long agreed (more or less) not to reduce "simplicity" by adding 
more modes over time, including stricter strict mode.

/be


More information about the es-discuss mailing list