JS对象导航--何时使用object.sub和object["sub"]?

5

从语义的角度来看,JavaScript中导航对象有两种方法,一种是使用点运算符,另一种是像处理嵌套数组一样操作。

什么时候适合使用其中一种运算符?为什么我不应该总是使用方括号的方法(似乎更强大)?它们都很容易阅读,但是点运算符似乎受限于无法提供嵌套对象或穿越数组的变量名称。

1个回答

5

使用[]的主要原因:

  1. 通过点符号(至少在<ES5中)无法访问具有关键字名称的属性。
  2. 您可以使用它来访问由字符串给出的属性。

使用.的原因:

  1. 始终使用[]会使语法突出显示、代码完成等几乎无用
  2. 即使自动插入相应的闭合计数器,['输入速度也慢得多(特别是在非美国键盘布局上)

我的意思是,想象一下写Chat['users']['getList']()['sort']()['each']

经验法则:尽可能使用.,当没有其他方法时则退而使用[]


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接