node.js是否支持“let”语句?
node.js是否支持类似于MDN上描述的let语句? ?
var x = 8, y = 12; let ( x = 5, y = 10) { return x + y; } //15
如果没有,有没有办法用自动执行的匿名函数或其他东西来复制function?
和/或有另一个JS环境
- 已经
let
和和 - 有节点的REPL吗? 犀牛?
编辑 :
这个问题在很久以前就被问到了。 截至目前,2015年底,答案是“是的,是的”。 在io.js 3.3中默认包含了和谐特性,并且最近被4.x版本带回到了node.js。
我不认为节点支持let
,但你可以这样做:
var a = 5; (function () { var a = 6; console.log(a); // => 6 })(); console.log(a); // => 5
是的,您可以在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
我不build议在重要的生产应用程序中使用此function,但function现在可用。
这是一个古老的问题,接受的答案不再正确。
let
支持被添加到Node.js 4.x中 。
看到这里的完整版本的支持matrix。
node --use_strict --harmony_scoping
您可以使用Babel transpiler,并使用let
以及许多其他ES6 / ES2015function。
要使用babel:
$ npm install --save-dev babel
然后在你的package.json
:
"scripts": { "start": "babel-node index.js" }
在index.js
里面:
let foo = 'bar;
然后启动服务器:
$ npm start