一、对象解构
1.1 解构的定义
使用ES6中的语法规则,将一个对象或数组的某个属性提取到某个变量中。
1.2 在解构中使用默认值
1.3 多重结构
1.4 非同名属性解构
{属性名:变量名}
const user = {name: 'test',age: 11,sex: '男',address: {province: '四川',city: '成都'}}// 普通调用// let name,age,sex,address// name = user.name// age = user.age// sex = user.sex// address = user.address// 对象解构// let name,age,sex,address;// ({name, age, sex, address} = user);// 简写// let {name, age, sex, address} = user;const {name,...obj} = user;console.log(name, obj);
二、数组解构
const numbers = ["a","b","c","d"]// const {// 0:n1,// 1:n2,// 2:n3,// 3:n4// } = numbers;// let n1,n2// ([n1,n2] = numbers)// let [n1,n2] = numberslet [n1,,,n4] = numbersconsole.log(n1,n4)let a = 1,b = 2;[b, a] = [a, b]console.log(a, b);
三、参数解构
const user = {name: 'test',age: 11,sex: '男',address: {province: '四川',city: '成都'}}// 传统写法// function print(user){// console.log(`姓名:${user.name}`)// console.log(`年龄:${user.age}`)// console.log(`性别:${user.sex}`)// console.log(`省份:${user.address.province}`)// console.log(`城市:${user.address.city}`)// }function print({name,age,sex,address:{province,city}}){console.log(`姓名:${name}`)console.log(`年龄:${age}`)console.log(`性别:${sex}`)console.log(`省份:${province}`)console.log(`城市:${city}`)}print(user)
