小编Mik*_*ike的帖子

对象[[["key"]]]如何在javascript中评估对象["key"]?

为什么javascript会将以下内容评估为true,因为该对象foo具有有效属性bar

foo[[[["bar"]]]] === foo["bar"]
Run Code Online (Sandbox Code Playgroud)

基于运算符优先级,我认为foo[[[["bar"]]]]是尝试以数组[[["bar"]]]作为键访问属性,但为什么它仍然"平坦化"到相同的foo["bar"]

我的同事们说javascript解析器有简化括号,忽略了额外的括号.我不认为这是真的,因为保存[[["foo"]]]到变量test会得到相同的结果:

> test = [[["bar"]]]
 [Array[1]]
> foo["bar"] = 5
 5
> foo[test]
 5
Run Code Online (Sandbox Code Playgroud)

语言或解析器的哪个方面导致了这种行为?谢谢!

javascript arrays accessor

7
推荐指数
2
解决办法
117
查看次数

标签 统计

accessor ×1

arrays ×1

javascript ×1