在访问对象的属性时,是否有任何理由使用.propertyName来访问属性vs. [“propertyName”]?

时间:2018-03-08 00:17:39

标签: javascript javascript-objects

说我有一个像这样的对象数组:

function obj (name) {
    this.name = name
}
let x = {
    'foo': new obj('foo');
    'bar': new obj('bar');
}

使用x['foo'].name优于x['foo']['name]是否有优势?

我认识到[]符号在向对象添加内容或使用for循环对象时更具通用性因此除了易于使用之外还有任何理由选择使用.访问它?它是提供速度提升还是仅仅是为了提高可读性?

1 个答案:

答案 0 :(得分:3)

x.y通常是首选,因为它更快写/更好使用。

x [“y”]对于诸如“d-2”,“1.2”或其他非ascii字符之类的模糊键很有用。

在第一种情况下,你不能做x.d-2,因为它变成x.d - 2(完全不同)。