javascript - 数组文字作为对象键?

标签 javascript arrays reference key

我很惊讶地看到this answer挑战,因为我不知道这种语法是合法的。即,看起来像这样的部分(我稍微简化了一下):

"eo"[0,g=()=>{},g(),g(),1]

对我来说,这看起来像是一个数组文字被用来访问一个对象键。这是 JavaScript 中记录的行为吗?作为记录,数组的最后一个值似乎是被取消引用的值。

最佳答案

它使用 comma operator对于 access一个字符串,基本上这会返回 o,并在两者之间做一些事情。

部分:

"eo"                        string
    [                       bracket operator/string accessor
     0,                     value 0
       g=()=>{},            generating an empty function
                g(),        call that function
                    g(),    call that function again
                        1   take 1 as the last element of comma operator
                         ]  return 'o'

关于javascript - 数组文字作为对象键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36149383/

相关文章:

javascript - jQuery 幻灯片无法正常工作,显示 :none;

使用 "+="运算符的 Javascript 函数

java - 如何在java中使用哈希表进行搜索方法?

python - 当作为参数传递给函数时获取 numpy 结构化数组列的名称

javascript - 有没有办法将数组名称转换为字符串?

javascript - 将别名绑定(bind)到本地方法有什么好处?

java - 通过 ActiveMQ 将字节数组作为属性发送

c# - 在没有引用的情况下构造对象?

javascript - 转到 Web Essentials 中的定义

java - 哈希码与对象的引用或地址之间的区别?