什么是字面量?看表面就知道你是什么类型。
    (string、number、boolean、symbol、null、undefined)
    (object [纯粹的对象、数组、函数])

    1. let str = 'asdfadsf'
    2. let arr = ['a', 'b']
    3. let obj = { uname: 'zxx', age: 20 } // 字面量对象
    4. let obj1 = {
    5. uname: 'zs',
    6. age: 30,
    7. height: 180,
    8. 'my-nickname': '老汤', // 这种属性名带 - ,所以必须加引号
    9. say: function () {
    10. console.log('会说话')
    11. },
    12. wash: function () {
    13. console.log('会洗衣服')
    14. }
    15. }
    16. // ------------------------- 访问属性值 -------------------------
    17. // 语法:1 对象.属性 2 对象[属性]
    18. // console.log( obj1.uname )
    19. // console.log( obj1['uname'] ) // 加上引号,表示找具体的叫做 uname 的属性
    20. // ###### 个别情况,访问对象的属性,必须用方括号 #####
    21. console.log(obj1['my-nickname']) // 必须使用[]的情况之一,属性名有中横线
    22. // 使用变量表示属性名
    23. let a = 'age'
    24. console.log(obj1[a]) // 属性名使用变量,则必须使用[]语法,而且因为a是变量,不能加引号

    小结:

    1. 定义对象的时候,如果属性名有特殊符号,比如中横线,则属性名必须加引号
    2. 访问对象的属性,可以使用点语法或者方括号语法
    3. 如果属性名有特殊符号,则访问属性的时候,必须用方括号 obj1['my-nickname']
    4. 如果属性使用变量表示,则访问属性的时候,必须用方括号 let a = 'age'; obj1[a]