js中有对象有两种属性访问语法
var myObject={
a:2
}
myObject.a;
myObjetc["a"]
.a语法通常被称为"属性访问"
[”a“]语法通常被称为"键值访问"
备注: 在对象中,属性名永远都是字符串,如果你是使用了string以外的其他值作为属性名,那他也首先也会被转换成一个字符串
如果你需要通过表达式来计算属性名,可以如下:
var profix="foo"
var myObject={
[profix+"bar"]:"hello",
[profix+"baz"]:"word"
}
console.log(myObject.foobar);
console.log(myObject.foobaz);
ES6增加了可计算属性名,可以在文字形式中使用[]包裹一个表达式来当作属性名。