WebStorm JavaScript解构分配

时间:2017-11-07 13:40:38

标签: javascript node.js ecmascript-6 webstorm

WebStorm中的以下有效ES6:

let {a,b} = {a:0,b:0};
{a,b} = {a:2,b:4};

在第二个等号处显示错误:“表达式预期”。显然,JavaScript设置设置为ES6。

顺便说一下,添加括号会删除错误:

let {a,b} = {a:0,b:0};
({a,b} = {a:2,b:4});

这是错误还是ES6的一部分?节点编译器似乎对第一个版本没有问题(没有括号),所以它似乎不是标准的一部分。

1 个答案:

答案 0 :(得分:2)

这不是错误,ExpressionStatement是这样的:

  

请注意    ExpressionStatement不能以U + 007B(LEFT CURLY BRACKET)开头,因为这可能会使其与Block不一致。 ExpressionStatement不能以函数或类关键字开头,因为这会使其与FunctionDeclaration,GeneratorDeclaration或ClassDeclaration不一致。 ExpressionStatement不能以异步函数启动,因为这会使AsyncFunctionDeclaration变得模糊不清。 ExpressionStatement不能以两个令牌序列let开头[因为这会使得LexicalDeclaration的第一个LexicalBinding是一个ArrayBindingPattern而不明确。