数组文字作为对象键?

时间:2016-03-22 08:25:33

标签: javascript arrays reference key

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

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

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

1 个答案:

答案 0 :(得分:1)

使用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'