(node v4.1.2)
let 使うと SyntaxError になる現象
ES6 の記述を使って node コマンドでファイルを指定して実行できます。
例えばアロー関数を使って実行
hoge.js
var a = (num) => {
console.log(num);
};
a(10
$ node hoge.js
10
しかし、なぜか let
使うと SyntaxError
になります
hoge02.js
let foo='bar';
console.log(foo);
$ node hoge02.js
/Users/cortyuming/example/hoge02.js:1
let foo='bar';
^^^
SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
回避
その1
"use strict"
をつけるとエラー出なくなる
hoge03.js
"use strict"
let foo='bar';
console.log(foo);
$ node hoge.js
bar
その2
実行時に --use_strict
オプションをつける
$ node --use_strict hoge02.js
bar