Javascript: besides "use strict", which other "use" directives are there?
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.
From this article:
- 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.
精彩评论