我无法想象这个怪癖。
[1,2,3,4,5,6][1,2,3]; // 4 [1,2,3,4,5,6][1,2]; // 3
我知道[1,2,3] + [1,2] = "1,2,31,2",但我找不到正在执行的类型或操作。
[1,2,3] + [1,2] = "1,2,31,2"
[1,2,3,4,5,6][1,2,3]; ^ ^ | | array + — array subscript access operation, where index is `1,2,3`, which is an expression that evaluates to `3`.
第二个[...]不能是数组,所以是数组下标操作。并且下标操作的内容不是操作数的分隔列表,而是单个表达式。
[...]
在此处阅读有关逗号运算符的更多信息。