获取对象属性的区别
- 一般获取对象的属性有点方法、[ ]方法
const obj = {'name':'张三','age':'18'};
let getName = obj.name;//点方法
let getAge = obj['age'];//中括号法
console.log(getName);//打印结果:张三
console.log(getAge);//打印结果:18
- 当属性名字为数字时(点方法不适用)
const obj = {'123':'张三'};
console.log(obj.123);//报错
console.log(obj['123']);//张三
- 当属性名为变量时
const obj = {};
obj.name = '张三';
let myName = 'name';
console.log(obj.myName);//undefined,访问不到对应的属性
console.log(obj[myName]);//张三
点方法和中括号方法总结
1、中括号法可以用变量作为属性名,而点方法不可以;
2、中括号法可以用数字作为属性名,而点语法不可以;
3、中括号法可以使用js的关键字和保留字作为属性名,而点语法不可以(尽量避免在变量或者属性中使用关键字或保留字);