Besides use strict, which other use directives are there?
Some more examples that can be in the “directive prologue” (a section potentially usable by JavaScript engines):
'use strict';'use asm';
Mozilla's asm.js is a subset of the language, geared towards crunching numbers.'use stricter';
Google's SoundScript. For fast OOP
Has also some modes like:'use stricter+types';- http://www.2ality.com/2015/02/soundscript.html
'use babel';
Used in Atom.io. (Was previously:'use 6to5';)
A tweet by Jeremy Ashkenas suggests some further use of + and - prefixes in the same 'use ...'; string ('use stricter +types -tco +jsx +asm +es2019-pre';), but that seems to contradict the spec (further clarified in kangax's answer and Bergi's answer).
In case it's still of interest to anyone, I just ran across a "use asm" directive, for use with asm.js.
So it seems like there may be additional "use" options added over time.
Although it isn't a declarative like "use strict";, the next version of ECMAScript (codenamed Harmony) will apparently have an opt-in capability you can use in the <script> tag.
- opt-in via MIME type in script tag:
<script type="application/javascript;version=next">(where “next” is a placeholder for something that has still to be determined)
The article is an overview of this presentation by David Herman, which is very much worth watching.
来源:https://stackoverflow.com/questions/6999768/javascript-besides-use-strict-which-other-use-directives-are-there