js获取对象属性值的方法

场景:已知对象的某属性,我们需要获取对象中的属性值

js获取对象属性值的方法

  1. 通过 . 获取
  2. 通过 [ ] 获取
        let person = {
            name: "bob", age: 18
        };
        // 通过 [] 获取  bob
        console.log(person['name']);  // 加引号,识别为属性去对象中查找
        // 通过 . 获取  bob
        console.log(person.name);  

接下来介绍一下两种方法的不同点

  • [ ]运算符可以用数字作为属性名,点运算符不能
        let p = {
            1: 'Alex', 2: 33
        }
        console.log(p[1]);  // Alex
        console.log(person.1);  // 报错 Uncaught SyntaxError: missing ) after argument list
  • [ ]运算符可以用变量作为属性名,点运算符不能
        let person = {
            name: "bob", age: 18
        };
        let key = 'name';
        console.log(person[key]);  // bob  不加引号,识别为变量
        console.log(person.key);  // undefined

ps:
用变量key获取对象中的属性值时,点运算符会将key视为一个属性去对象中查找,对象中没有这个属性,因此为undefined
在用 [ ] 获取值时,需要注意的是 [ ] 中是否要加引号


版权声明:本文为weixin_50400536原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。