我只是简单地使用es6重新分配变量a & b。如果我将分号从a和b声明和赋值语句中分离出来,为什么会出现错误?如果分号停止,解析器是否试图将属性拉出2?让b = 2 [a,b] ...?为什么在这里需要分号?
Works:
let a = 1;
let b = 2;
[a, b] = [b, a]
Error:
let a = 1
let b = 2
[a, b] = [b, a]
我找的实际原因失败。谢谢!
我只是简单地使用es6重新分配变量a & b。如果我将分号从a和b声明和赋值语句中分离出来,为什么会出现错误?如果分号停止,解析器是否试图将属性拉出2?让b = 2 [a,b] ...?为什么在这里需要分号?
Works:
let a = 1;
let b = 2;
[a, b] = [b, a]
Error:
let a = 1
let b = 2
[a, b] = [b, a]
我找的实际原因失败。谢谢!
如果分号停止,解析器是否试图将属性拉出2?让b = 2 [a,b] ...?
是的。如果您没有用分号明确地结束语句,则无法安全地使用[
开始语句。
在许多地方,这已经被写入有关,它的的很多事情,standardJS(或其他棉短绒)会提醒你注意:http://standardjs.com/rules.html#semicolons
@ brso05这是因为它被解析为'let b = 2 [a,b] = [b,a]',这意味着你试图在'b'的定义内引用'b' *。 – meagar
你在控制台中看到什么错误? – brso05
你有没有“严格使用”的地方? – randominstanceOfLivingThing