我只是使用es6重新分配变量a&湾如果我将分号从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]
我正在寻找失败的实际原因。谢谢!
答案 0 :(得分:1)
如果分号被关闭,解析器是否会尝试从2中提取属性?设b = 2 [a,b] ......?
是。如果您没有使用分号明确结束语句,则无法安全地使用[
开始声明。
这是在许多地方写过的,而且它是标准的JS(或其他短语)会警告你的许多事情之一:http://standardjs.com/rules.html#semicolons