80-对象解构赋值
2019-04-30 本文已影响0人
仰望_IT
-
对象的解构赋值和数组的解构赋值 除了符号不一样, 其他的一模一样
- 数组的解构使用[ ]
- 对象的解构使用{ }
-
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
-