当前位置:  开发笔记 > 编程语言 > 正文

为什么JS允许以数组作为键的属性访问?

如何解决《为什么JS允许以数组作为键的属性访问?》经验,为你挑选了1个好方法。

假设我有一个对象

obj = {
  a : 1
}

我可以通过访问属性aobj["a"]但也可以通过访问属性obj[["a"]]。那怎么可能?



1> CertainPerfo..:

对象键始终是字符串(或者很少是符号)。当你做

obj[]

解释器将尝试将其expression转换为有效的密钥(如果尚未提供的话)。在这种情况下,将其["a"]转换为字符串会导致"a",因此obj["a"]和都会obj[["a"]]起作用。

(当数组隐式地变成原始类型时,就像这里一样,它.join用逗号ed来代替["a"].join(',') === "a"


我从未意识到JS在嵌套数组中尽可能深地转换类型:`[[[[[“ a”]]]]] ==“ a”`的计算结果为true
推荐阅读
手机用户2502852037
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有