结构赋值是对数据结构进行拆分为变量,方便数据的操作
数组赋值
数组解构到变量中
let name=['Join','Smith']
let [firstName,lastName]=name
console.log(firstName) // Join
console.log(lastName) // Smith
逗号忽略元素
let person=['张三','李四','王五']
let [one, ,three]=person
console.log(three) // 王五
使用Object.entries和结构赋值遍历键值对
let obj={
name:'老八',
age:22
}
for(let [key,vlaue] of Object.entries(obj)){
console.log(key,value)
}
使用Map和结构赋值遍历键值对
let obj=new Map()
obj.set('name','老八')
obj.set('age','22')
for(let [key,value] of obj){
console.log(key,value)
}
使用Rest方法接收
let person=['张三','李四','王五','老八','玖玖']
let [one,two,...Rest]=person
console.log(Rest)
默认值
let [name = "Guest", age = "12"] = ["Julius"];
console.log(name)
console.log(age)
对象解构赋值
let obj={a:{b:{c:1}}}
console.log(obj.a.b.c) // 正常结解构赋值
let {a:{b:{c}}=obj // 连续解构赋值
console.log(c)
let {a:{b:{c:data}}}=obj //解构赋值重命名
console.log(data)