什么是字面量?看表面就知道你是什么类型。
(string、number、boolean、symbol、null、undefined)
(object [纯粹的对象、数组、函数])
let str = 'asdfadsf'let arr = ['a', 'b']let obj = { uname: 'zxx', age: 20 } // 字面量对象let obj1 = {uname: 'zs',age: 30,height: 180,'my-nickname': '老汤', // 这种属性名带 - ,所以必须加引号say: function () {console.log('会说话')},wash: function () {console.log('会洗衣服')}}// ------------------------- 访问属性值 -------------------------// 语法:1 对象.属性 2 对象[属性]// console.log( obj1.uname )// console.log( obj1['uname'] ) // 加上引号,表示找具体的叫做 uname 的属性// ###### 个别情况,访问对象的属性,必须用方括号 #####console.log(obj1['my-nickname']) // 必须使用[]的情况之一,属性名有中横线// 使用变量表示属性名let a = 'age'console.log(obj1[a]) // 属性名使用变量,则必须使用[]语法,而且因为a是变量,不能加引号
小结:
- 定义对象的时候,如果属性名有特殊符号,比如中横线,则属性名必须加引号
- 访问对象的属性,可以使用点语法或者方括号语法
- 如果属性名有特殊符号,则访问属性的时候,必须用方括号
obj1['my-nickname'] - 如果属性使用变量表示,则访问属性的时候,必须用方括号
let a = 'age'; obj1[a]
