NodeJS(ES6):SyntaxError:意外的令牌{

时间:2015-12-19 16:45:25

标签: javascript node.js express ecmascript-6

let {name, description} = req.body;

NodeJS v5.2.0。 尝试使用标志 - 节点bin / www --es_staging --harmony_destructuring。引发错误:SyntaxError:意外的令牌{... 我应该使用Babel编译源代码,还是有其他方法在NodeJS中原生使用ES6?

1 个答案:

答案 0 :(得分:9)

Node 5.2.0中默认不支持解构分配,但如果您使用node --harmony_destructuring启用它,它将起作用。

但是let目前仅在严格模式下受支持 这是一个V8问题,包含V8版本4.6的Node版本5.0.0也将以草率模式支持let

此时在草率模式下使用let会抛出你得到的完全相同的错误,所以:

"use strict"

let {name, description} = {name: "some name", description : "some description"};

在Node 5.2.0中运行正常,请注意,对象(在您的情况下为req.body)必须与变量名称具有相同的键,否则它们将为undefined