V8のNode.jsが厳密なモードをサポートしていると思います。Node.js:V8エンジンで非厳密またはECMASCRIPT3を有効にするにはどうすればいいですか?
V8エンジンで非厳密またはECMASCRIPT 3を有効にすることはできますか?
ほとんどのES5機能はChrome(V8)で利用できます(compatibility tableを参照)。
しかし、一部の開発者(私を含む)はまだES3に慣れていますが、そのオプションはありますか?
V8のNode.jsが厳密なモードをサポートしていると思います。Node.js:V8エンジンで非厳密またはECMASCRIPT3を有効にするにはどうすればいいですか?
V8エンジンで非厳密またはECMASCRIPT 3を有効にすることはできますか?
ほとんどのES5機能はChrome(V8)で利用できます(compatibility tableを参照)。
しかし、一部の開発者(私を含む)はまだES3に慣れていますが、そのオプションはありますか?
コードに文字列"use strict"
を含めないでください。 V8は厳密なモードをサポートしていますが、あなたが指示しない限り(すなわちES5仕様に従う)使用しません。
次のスクリプトを比較:
入力:
foo = "Hello";
console.log(foo);
出力:
[email protected]:tmp # node test.js
Hello
と
入力:
"use strict";
foo = "Hello";
console.log(foo);
出力:
[email protected]:tmp # node test.js
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
ReferenceError: foo is not defined
at Object.<anonymous> (/Users/quentin/tmp/test.js:2:5)
at Module._compile (module.js:432:26)
at Object..js (module.js:450:10)
at Module.load (module.js:351:31)
at Function._load (module.js:310:12)
at Array.0 (module.js:470:10)
at EventEmitter._tickCallback (node.js:192:40)
それは?私はデフォルトではV8が厳密に "厳密な使用"を明示的に言及する必要はないと思う。 –
ありがとう... –
厳格モードはデフォルトで有効になっていません。また、ES3を使いたい本当の理由もありますか? ES3の作業は、ES5インタプリタを使用して実行する必要があります。 – Eliasdx