美文网首页
80-对象解构赋值

80-对象解构赋值

作者: 仰望_IT | 来源:发表于2019-04-30 21:31 被阅读0次
    • 对象的解构赋值和数组的解构赋值 除了符号不一样, 其他的一模一样
      • 数组的解构使用[ ]
      • 对象的解构使用{ }
    • 1. 在对象解构赋值中, 等号左边的格式必须和等号右边的格式一模一样, 才能完全解构
            let obj = {
                name: "lnj",
                age: 34,
            }
      
            let {name, age} = obj;  // let {name, age}  = {name: "lnj", age: 34};
            let {name, age}  = {name: "lnj", age: 34};
            console.log(name, age);  // lnj, 34
      
    • 2. 在对象解构赋值中, 左边的个数可以少于右边的个数
            let obj = {
                name: "lnj",
                age: 34,
            }
      
            let {name} = {name: "lnj", age: 34};
            console.log(name);   // lnj
      
    • 3. 在对象解构赋值中, 左边的个数可以多于右边的个数
            let obj = {
                name: "lnj",
                age: 34,
            }
      
            let {name, age, height} = {name: "lnj", age: 34};
            console.log(name, age, height); // lnj 34 undefined
      
    • 4. 在对象解构赋值中, 如果左边的个数多于右边的个数, 那么我们可以给左边指定默认值
            let obj = {
                name: "lnj",
                age: 34,
            }
      
            let {name, age, height = 1.80} = {name: "lnj", age: 34};
            console.log(name, age, height); // lnj 34 1.8
      
    • 5.在对象解构赋值中, 如果左边的个数小于或等于右边的个数, 那么如果给左边指定默认值会被覆盖
            let obj = {
                name: "lnj",
                age: 34,
            }
      
            let {name, age, height = 2.0} = {name: "lnj", age: 34, height: 1.80};
            console.log(name, age, height); // lnj 34 1.8
      

    • 注意点
      • 注意点1: 在对象解构赋值中, 左边的变量名称必须和右边的对象属性名称一样, 才能解构出数据

            let obj = {
                name: "lnj",
                age: 34,
            }
        
            let {a, b}  = {name: "lnj", age: 34};
            console.log(a, b);  // undefined undefined
        
      • 注意点2: 在对象解构赋值中, 左边写的什么变量名称就会去右边找这个名称对应的属性名称解构给这个变量

            let obj = {
                name: "lnj",
                age: 34,
            }
        
            let {age}  = {name: "lnj", age: 34};
            console.log(age);  // 34
        

    相关文章

      网友评论

          本文标题:80-对象解构赋值

          本文链接:https://www.haomeiwen.com/subject/gojbnqtx.html