为什么以下内容不会抛出任何语法错误?
var a = [1, 2, 3, 4],
b = a[2, 1, 0, 1];
console.log(b);
见小提琴:
答案 0 :(得分:4)
1。 在上面的例子中,是逗号运算符。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comma_Operator
逗号运算符计算每个操作数(从左到右)并返回最后一个操作数的值。
2。 第一个[]定义了一个数组。
3。 a [...]从数组中取消引用...元素,其中......是最后一个元素,即1
4。 所以基本上会发生这种情况:
var a = [1, 2, 3, 4];
var b = a[1];
console.log(b);
与:
相同var b = 2;
console.log(b);