节点.js是否支持“let”语句
Does node.js support the 'let' statement?
node.js是否支持类似于MDN上描述的let语句?
var x = 8,
y = 12;
let ( x = 5, y = 10) {
return x + y;
} //15
如果没有,有没有办法用自动执行的匿名函数或其他东西复制功能?
和/或是否有另一个 js 环境
- 有
let
和 - 像节点一样有 REPL?犀?
编辑:
这个问题很久以前就被问过了。截至目前,2015年底,答案是"是的,是的"。Harmony 功能默认包含在 io.js 3.3 中,最近在 4.x 版本中又回到了 node.js。
是的,你可以在 node.js 中使用 let,但是你必须使用可选的 --harmony 标志来运行 node。请尝试以下测试.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
我不建议在重要的生产应用程序中使用它,但该功能现已可用。
这是一个老问题,接受的答案不再正确。
let
Node.js 4.x 中添加了支持。
有关完整版本支持矩阵,请参阅此处。
node --use_strict --harmony_scoping
我不认为 Node 支持 let
,但你可以这样做:
var a = 5;
(function () {
var a = 6;
console.log(a); // => 6
})();
console.log(a); // => 5
您可以使用 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
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 如何在ReactJS JSX中执行嵌套的if-else语句
- 自动修复”;语句前缺少分号“;
- 如何在 API 调用后和 if 语句中启用提交按钮
- 是“;x==a||b”;以及“;x==a||x==b”;JavaScript中的等效语句
- 带有let的JS/EECMAScript6私有字段的模式
- 带有多个elseif的Javascript if语句
- 这个条件语句的逻辑有问题
- Sharepoint JScript if语句未执行
- 为什么继续;语句冻结浏览器
- Javascript:If-then语句在函数中不起作用
- SharePoint 2010 Jquery/JSON Rest Multiple OR语句-如何
- for循环中的javascript if语句找不到==
- Do let语句在全局对象上创建属性
- 其他人可以在他们的 Node.js REPL 中使用 let 语句吗?
- 节点.js是否支持“let”语句
- 为什么let语句的行为和var有这么大的不同
- 使用if语句和let/const语句,不带块语句
- 循环中的let语句在IE中不像预期的那样工作
- let块语句和等价的with语句之间的区别是什么