node.js是否支持let语句,类似于described on MDN??
var x = 8,
y = 12;
let ( x = 5, y = 10) {
return x + y;
} //15
如果没有,有没有办法用自动执行的匿名函数复制功能?
和/或是否有另一个js环境
let
和修改:
很久以前就提出了这个问题。截至目前,2015年底,答案是“是的,是的确如此”。默认情况下,和声功能包含在io.js 3.3中,并且最近使用4.x版本返回到node.js。
答案 0 :(得分:85)
是的,您可以在node.js中使用let,但是您必须使用可选的--harmony标志运行节点。请尝试以下 test.js :
"use strict"
var x = 8,
y = 12;
{ let x = 5, y = 10; console.log(x + y); }
console.log(x + y);
然后运行文件node --harmony test.js
,结果是:
15
20
我不建议在重要的生产应用程序中使用它,但现在可以使用该功能。
答案 1 :(得分:28)
答案 2 :(得分:20)
node --use_strict --harmony_scoping
答案 3 :(得分:6)
我认为Node不支持let
,但您可以这样做:
var a = 5;
(function () {
var a = 6;
console.log(a); // => 6
})();
console.log(a); // => 5
答案 4 :(得分:1)
您可以使用Babel转发器并使用let
以及许多其他ES6 / ES2015功能。
使用babel:
$ npm install --save-dev babel
然后在package.json
:
"scripts": {
"start": "babel-node index.js"
}
内部index.js
:
let foo = 'bar;
然后启动服务器:
$ npm start