David Bruant (2013-04-16T09:12:37.000Z)
github at esdiscuss.org (2013-07-12T02:26:55.506Z)
TC39 (which I'm not part of) agreed to not add more modes to ECMAScript. They try to follow the "1JS" rule, that is there is only one language. Among other things, this makes writing parsers and interpreters easier. I think this all started at [1] (you don't need to read everything, but it gives an idea). Strict mode was necessary to fix big flaws of the language that needed to be fixed and couldn't be without a mode, but that's as far as it went. Based on the examples you gave, it seems you haven't pointed at major language flaws that justify a new mode. More on that inline. Le 16/04/2013 10:28, Francisco Ferreira a ?crit : > Stuff that pops my mind that `"use strict"` doesn't cover and that couldbe useful is: > > `"use stricter";` > > - Enforces the use of `;` at the end of a line of code Be careful, this can be a sensitive topic for some people and may end up with flames :-) On that topic, I highly recommend Brendan Eich's article [2] which among other things summarizes a drama that animated the JS community. > - Either force the usage of '===' instead of '==' or make '==' moretype safe. You might be interested in restrict mode [3] > - Makes `map[undefined]` break or throw a warning By "map", i assume you're referring to a regular object and not an ES6 map. What do you mean by "break" and "throw a warning"? Do you want a runtime error to be thrown or this error to be caught by devtools? As a developer, one thing you can do is at least build a tool (like restrict mode) and add git/mercurial/svn per-commit hook to enforce that your 2 first points are enforced. This way, when you and your team write JavaScript, you can be guaranteed that semicolons are in and that no one uses `==`. I don't fully understand your 3rd point so I'm not sure a tool can catch that, but my point is that by building tools yourself, you can enforce the sublanguage of your choice in your projects. [1]: https://mail.mozilla.org/pipermail/es-discuss/2011-December/019112.html [2]: https://brendaneich.com/2012/04/the-infernal-semicolon/ [3]: http://restrictmode.org/