JavaScript属性访问:点符号与方括号?

除了显而易见的事实,第一种形式可以使用变量而不仅仅是字符串文字,是否有理由在另一种形式上使用另一种形式?如果是这样,在哪种情况下?

在代码中:

// Given:

var foo = {'bar': 'baz'};

// Then

var x = foo['bar'];

// vs.

var x = foo.bar;

上下文:我已经编写了一个代码生成器来生成这些表达式,我想知道哪种更好。

回答:

var foo = myForm.foo[]; // incorrect syntax

var foo = myForm["foo[]"]; // correct syntax

包括非ASCII(UTF-8)字符,如myForm["ダ"]

for (var i = 0; i < 10; i++) {

someFunction(myForm["myControlNumber" + i]);

}

  • 点符号的书写速度更快,阅读更清晰。
  • 方括号表示法允许访问包含特殊字符的属性以及使用变量选择属性


不能与点符号一起使用的字符的另一个示例是 本身包含点的属性名称

例如,一个json响应可能包含一个名为的属性bar.Baz

var foo = myResponse.bar.Baz; // incorrect syntax

var foo = myResponse["bar.Baz"]; // correct syntax

以上是 JavaScript属性访问:点符号与方括号? 的全部内容, 来源链接: utcz.com/qa/425741.html

回到顶部