看完question之后,我才知道
let a = [1, 2] [3, 4] = [5, 6];
console.log(a);

是有效的JavaScript代码,但我无法理解它是如何工作的。 任何人都可以解释上述代码的工作流程。
答案 0 :(得分:3)
执行了很多
的变体 let a = [1, 2] [3, 4] = [5, 6];
我来了解
[1, 2] [3, 4]
相当于[1, 2][4]
,其中[1, 2]
表示array
,而[4]
表示[1, 2]
数组的第5个索引,但找不到任何数据官方文件。
<强>更新强>
我在评论中提到的文档是错误的,[]
中的[3, 4]
是属性访问者,而3, 4
是由Comma operator分隔的两个不同的代码语句。在逗号运算符中,由,
分隔的每个语句都从左到右执行,并返回最后一个语句的结果。
上面的代码现在简化为
let a = [1, 2][4] = [5, 6];
比较容易理解。如果我们将它简化一点就会变得
let arr = [1, 2];
let a = arr[4] = [5, 6];
console.log(a);
console.log(arr);
&#13;
现在很容易解释它arr[4] = [5, 6]
将[5, 6]
分配给arr
的第5个索引,a = arr[4]
将arr
的第5个索引分配给{{1}现在a
已将[5, 6]
分配给[5, 6]
。
现在a
的当前值为a
,当前值[5, 6]
为arr
让我们再次重写上面的代码
[ 1, 2, undefined, undefined, [ 5, 6 ] ]
&#13;