解构: 解开目标的整体结构
赋值: 将目标中的数据 赋值到我们定义的变量中
对象的解构赋值:
注意点:{}中,名字必须和obj中保持一致
也就是说 变量名必须和属性名一致
let {a,b} = obj;
console.log(a,b);
数组的解构赋值
数组中的注意点: 保持顺序一致
let arr = [1,2,3,4,5];
let [q,w,e,r] = arr;
console.log(q,w);//1,2
字符串的解构赋值
和数组一致
变量名的存储顺序 和 字符串中存储的顺序一致
let str = "abc";
let [d,f] = str;
console.log(d,f);//a,b
展开运算符
展开运算符: …
在需要展开的目标前加… ,即可将该目标的值取出。
展开运算符:不影响原有数据,对原有数据,做一个拷贝的动作
let arr1 = ["a","b","c","d"];
let arr2 = [1,2,3,...arr1,4,5];
let arr3 = [...arr1,"av"];
console.log(arr3);//a,b,c,d,av
console.log(arr2);//1,2,3,a,b,c,d,4,5
console.log(arr1);//a,b,c,d
剩余参数 : 解构赋值+展开运算符
let obj = {
a:1,
b:2
}
let obj2 = {
...obj,
c:3,
d:4
}
console.log(obj2);//{a: 1,b: 2,c: 3,d: 4}
let {a,b,...c} = obj2; // let a = obj2.a let b = obj2.b
console.log(a,b,c);1,2,{3,4}