我意识到JavaScript允许点表示法和括号表示法创建和访问对象属性。除了属性名称包含空格或其他保留字符,或者属性名称是两个方案都需要括号的变量时,何时应该使用另一种方法? Difference between using bracket (`[]`) and dot (`.`) notation表示除非有特殊原因,否则应始终使用点表示法。这是真的,如果是的话,为什么?
var person={firstname:'John', 'last name':'Doe'};
console.log(person);
person.firstname='Jane';
var nameType='middlename';
//No person.nameType='Sunshine';
person[nameType]='Sunshine';
person['last name']='DoeBo';
console.log(person);
结果:
Object { firstname="John", last name="Doe"}
Object { firstname="Jane", last name="DoeBo", middlename="Sunshine"}