这个好像是es6的语法
连续解构赋值
举例:
const a = {
b: 6,
c: 7,
d: {
e: 8,
f: {
g: 9
}
}
}
console.log(a) // Object()
console.log(a.b) // 6
console.log(a.c) // 7
console.log(a.d) // Object()
console.log(a.d.e) // 8
console.log(a.d.f) // Object()
console.log(a.d.f.g) // 9
console.log("===========================")
console.log("看上下两种形式结果是否一样")
console.log(a) // Object()
// 普通解构赋值
const {b} = a
console.log(b) // 6
const {c} = a
console.log(c) // 7
const {d} = a
console.log(d) // Object()
//连续解构赋值(两层)
const {d:{e}} = a
console.log(e) // 8
const {d:{f}} = a
console.log(f) // Object()
//连续解构赋值(三层)
const {d:{f:{g}}} = a
console.log(g) // 9
连续解构赋值并给对象重命名
举例:
const A = {
B:{
C:1
}
}
// 重命名后,原本的名字不能用了
const {B:{C:data}} = A
// console.log(C) // 报错
console.log(data)