数组的解构语法:
let [变量1, 变量2...] = 数组名
变量从左到右对应数组角标从零自增的元素
例:
let arr = [1, 2, 3]
let [a, b, c] = arr
console.log(a) //a = arr[1]
console.log(b) //b = arr[2]
console.log(c) //...
//变量少值多
//剩余参数
let [a, ...b] = arr
a === 1
b === [2, 3]
//按需导入
let [a, , c] = arr
a === 1
c === 3
多维数组解构
let arr = [1, 2, [3, 4]]
let [a, b,[c, d]] = arr
[a, b, c, d] === [1, 2, 3, 4]
对象的解构语法:
let {对象对应属性名1, 对象对应属性名2...} = obj
大括号内必须使用对应的属性名
例:
const obj = {
name: 'joker',
say(){
console.log('*中华嘴臭*')
}
}
const {name, say} = obj
console.log(name) //name = obj.name
console.log(say) //say = obj.say
解构对象并重命名属性
let obj = {
name: 'aaa'
}
let [name: username] = obj
多维对象解构
let obj = {
name: aaa,
age: 10,
family: {
mother: bbb
}
}
///对象是无序的,需要解构对象中的对象,要在次级对象前加上属性名
let {name, age, famili:{mother}} = obj
mother === bbb