解构赋值总结:
-
将数据结构分解,然后给变量进行赋值
-
若解构不成功,变量跟数值个数不匹配时,变量值为undefined
-
数值解构中用 [ ] 包裹,多个变量用 , 分割,对象解构中用 { } 包裹
解构赋值优势:方便去取对象中的属性与方法
// 数组解构:
let [a, b] = [1, 2];
console.log(a, b); // 1,2
let [a, ...b] = [1, 2, 6, 8]
console.log(a, b); // 1, [2,6,8]
let [a = 1, b, c] = [, 2];
console.log(a, b, c); // 1, 2, undefined
let [a, b] = [1, [2]]
console.log(a, b); // 1, [2]
let [a, [s]] = [1] // 报错 左边是两层数组,右边也必须是两层数组,否则报错
let [a] = [1, []] // 不完全解析,不报错
console.log(a);
let {a,b} = {a:1,b:1}; // 简写
let{a:a,b:b} ={a:1,b:1} // 完整写法
// 注意点
let {
a: a1,
b: b1
} = {
a: 1,
b: 2
};
console.log(a, b); // 报错 a is not defined
console.log(a1, b1); // 1, 2