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

Inc*_*ito 5 javascript syntax object

从语义角度来看,有两种方法可以在JS中导航对象,你可以使用点运算符,也可以像使用嵌套数组一样处理它们.

什么时候使用一个操作员而不是另一个?为什么我不应该一直使用带方括号的方法(看起来更强大)?它们看起来都很容易阅读,但点运算符看起来有限,因为它不能提供嵌套对象的变量名,或者通过数组工作.

Ivo*_*zel 5

使用的主要原因 []

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

使用原因 .

  1. 总是使用[]make语法高亮,代码完成等几乎没用
  2. 即使自动插入关闭计数器部件['也很难打字(特别是在非美国键盘布局上)

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

经验法则:.尽可能使用,并[]在没有其他方法时回归.