JavaScript 如何用数组解释索引数组?

How does JavaScript interpret indexing array with array?

本问题已经有最佳答案,请猛点这里访问。
1
2
[1,2,4,8][0,1,2,3]
// equals to 8 (the last element of the indexing array (3) becomes the index)

为什么这不是一个 SyntaxError 错误(一个糟糕的遗产或一个有目的的功能)? (可能重复,但我无法在这里找到答案。)

更新:为什么是 the contents of the square brackets are treated as an expression


第一部分:

1
[1,2,4,8]

被解释为数组文字。第二部分:

1
[0,1,2,3]

被解释为方括号符号来访问数组的成员。方括号的内容被视为一个表达式,它被视为一系列逗号分隔的值:

1
0,1,2,3 // or (0,1,2,3) as an independent expression

那个表达式返回最后一个值,实际上是这样:

1
[1,2,4,8][3] // 8