ES6 doesn't need opt-in

Axel Rauschmayer axel at
Fri Jan 6 13:03:36 PST 2012

>> Then I would only expect two labels: ES6 and non-strict
> You're counting different beans from Mark's "modes" and from Allen's states.
> The reason the state machine matters is implementation (including the fine spec, the normative implementation). Authors can think of writing non-strict ES5 or lower, or ES5 strict -- or ES6 if they use a bit of novelty. Different beans again.

Ah, got it! You want ECMA-262 version 6 to allow an à la carte approach: implementors can choose between non-strict ES5, strict ES5, ES6, etc.

> I'm not sure what informs your label count expectation. In writing JS for the web over the next several years, you might have to worry quite a bit about ES5 strict vs. ES6. You can't just assume ES6 works everywhere that ES5 strict works.

I was thinking about how to specify only (exclusively) an ES6 environment. You pretend to live in a “perfect ES6 world” and then only have two labels. There are two ways out of this world:

- Non-ES6 environments for implementors: refer to ECMA-262 version 5.1.

- Non-ES6 environments for developers: simulate ES6 (via static compilation, dynamic compilation, etc.).

Dr. Axel Rauschmayer
axel at


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the es-discuss mailing list