[英]WebStorm/PhpStorm and JavaScript ES6: destructuring assignment not recognized
[英]WebStorm JavaScript destructuring assignment
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 的一部分? 节点编译器似乎对第一个版本没有问题(没有括号),因此它似乎不是标准的一部分。
这不是错误,这是ExpressionStatement
方式:
注意ExpressionStatement不能以U + 007B(左卷曲的括号)开头,因为这可能会使它与Block产生歧义。 ExpressionStatement不能以function或class关键字开头,因为这会使它与FunctionDeclaration,GeneratorDeclaration或ClassDeclaration产生歧义。 ExpressionStatement不能以异步函数开头,因为这会使它与AsyncFunctionDeclaration产生歧义。 ExpressionStatement不能以两个令牌序列let [开头,因为这会使它与let LexicalDeclaration产生歧义,后者的第一个LexicalBinding是ArrayBindingPattern。
在你的作业周围加上括号。 例如,以下是正确的
let foo
({foo = 3} = {foo: 2})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.