解构是ES6新增的,可以提高我们日常编码开发的效率。
解构可以用于数据和对象
一、对象解构
(1)解构用于声明变量
var / let / const 后面跟着{ },{ }包裹的变量值要和对象的属性值相同。这样就会取对象的属性值赋值给{ } 包裹的变量
let obj = {
name:'summer',
age:'20'
}
let {name,age} = obj
console.log(name , age) // summer 20
还可以下面这种写法:
let obj = {
name:'summer',
age:'20'
}; //千万不要忘记这个分号
({name,age} = obj)
console.log(name , age) //summer 20
(2)给解构的变量赋值默认值
当我们解构声明变量时,变量不存在对象中,则会undefined。我们可以赋值个默认值,当对象没有这个属性值时,这个变量值就是默认值。
let obj = {
name:'summer',
age:'20'
};
({name,age,sex='女'} = obj)
console.log(name , age , sex) // summer 20 女
如果sex不赋值:
({name,age,sex} = obj)
console.log(name , age , sex) // sum