JavaScript如何解释带数组的索引数组?

时间:2016-01-14 00:50:40

标签: javascript arrays indexing

[1,2,4,8][0,1,2,3]
// equals to 8 (the last element of the indexing array (3) becomes the index)

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

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

1 个答案:

答案 0 :(得分:4)

第一部分:

[1,2,4,8]

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

[0,1,2,3]

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

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

该表达式返回最后一个值,因此有效:

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