ES6 “modes” and user-friendliness

Axel Rauschmayer axel at
Mon Jan 16 22:30:07 PST 2012

    | OB | NB |
 OC |    |    |
 NC |    |    |

(OC = Old Code, NC = New Code, OB = Old Browser, NB = New Browser)

If we are talking about keeping JavaScript user-friendly, we have actually only tackled the second column: How new browsers handle old code and new code. Old browsers encountering old code is not a problem. But how about new code being encountered by old browsers? I keep thinking that that use case is relevant for the current “mode” discussion: If we achieve perfect user friendliness for new browsers, it is all for naught as soon as you deploy and have to support old browsers.

Lastly, there is one aspect of automatic language version detection that I still don’t understand: With David Herman’s solution, I’d expect browsers to first scan all of the code and then determine what semantics to use (at least conceptually/abstractly, possibly not in the actual implementation):
- Found ES6 language feature => ES6 semantics (a few breaking changes, if any)
- Found "use strict" => ES5.strict semantics
- None of the above => ES3 semantics

I’ve seen the idea mentioned that there should be mixed semantics: E.g. ES3 semantics with some ES6 features. When would that matter (except while developing ES6)?

Dr. Axel Rauschmayer
axel at


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

More information about the es-discuss mailing list