javascript - 在用方括号声明后立即用方括号索引是否有效的javascript?

标签 javascript arrays syntax

通常我会写

arr = ['choiceA', 'choiceB', 'choiceC', 'choiceD', 'choiceE'];
position = 3;
answer = arr[position];

只是想知道... 编写以下代码是否有效?
它可以跨浏览器工作吗?

answer = ['choiceA', 'choiceB', 'choiceC', 'choiceD', 'choiceE'][position];

最佳答案

是的,根据ECMAScript 5 specification :

MemberExpression :
    PrimaryExpression
    FunctionExpression
    MemberExpression [ Expression ]
    MemberExpression . IdentifierName
    new MemberExpression Arguments

哪里PrimaryExpression is defined as :

PrimaryExpression :
    this 
    Identifier
    Literal
    ArrayLiteral
    ObjectLiteral
    ( Expression )

因此构造 ArrayLiteral[Expression] 是有效的。


这并不一定意味着它适用于所有浏览器(尤其是 IE 有一些语法怪癖),但您应该假设它适用。

关于javascript - 在用方括号声明后立即用方括号索引是否有效的javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14223298/

相关文章:

php - 谷歌地图 API : Blank page (No map)

c# - 如何将 string[] 转换为 list<int>?

c++ - 尝试从指针数组 c++ 打印时出现奇怪的输出

c++ - 如何在 C++ 中定义常量?

python - 消除 Python 中的一系列 .replace() 调用

javascript - VueJS 中的数据绑定(bind)以构建 URL

javascript - for 对象内对象循环

php - 当 session 超时或空闲时自动重定向用户

arrays - 如何更新 vue 3 中 ref 内数组的值

php - 为什么此代码段不会引发错误?