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的一部分?节点编译器似乎对第一个版本没有问题(没有括号),所以它似乎不是标准的一部分。
答案 0 :(得分:2)
这不是错误,ExpressionStatement
是这样的:
请注意 ExpressionStatement不能以U + 007B(LEFT CURLY BRACKET)开头,因为这可能会使其与Block不一致。 ExpressionStatement不能以函数或类关键字开头,因为这会使其与FunctionDeclaration,GeneratorDeclaration或ClassDeclaration不一致。 ExpressionStatement不能以异步函数启动,因为这会使AsyncFunctionDeclaration变得模糊不清。 ExpressionStatement不能以两个令牌序列let开头[因为这会使得LexicalDeclaration的第一个LexicalBinding是一个ArrayBindingPattern而不明确。