数组的解构:
练习1:
let response = {
data: ['a', 'b', 'c'],
meta: {
code: 200,
msg: '获取数据成功'
}
}
let {data:[,d],meta:{code}} = response
console.log(code, d);
第二行代码就相当于是这样写的
let {data:[,d],meta:{code}} = { data: ['a', 'b', 'c'],meta: { code: 200,msg: '获取数据成功'}}
数组的解构,是按照下角标来解构的,所以 data:[ , d ] 的意思就是,第一个位置不选,空出来,这个d就代表第二项的意思 ,所以 console.log(d) 结果就是 "b"
接下来meta:{code} 就是取出meta对象中属性是code的值 console.log(code) 值就是 200
练习2:
下面的代码执行后,pathname,a,b的值分别是 “/abc”, 1,2
let res = {pathname:"/abc",query:{"a":1,b:"2"} };
let {pathname,query:{a,b}} = res;
这个注意的是: 数组的解构只要它的值,不看类型
练习3:
let arr = [1,2,3,4,5];
let [a, b, ...c] = arr;
console.log(a, b, c);
结果: a=1,b=2,c=[3,4,5]
练习4:
let { name1:a=1, age,address='1' } = {};
console.log(a)
console.log(age)
console.log(address)
console.log(name1)
对象的解构赋值:
let {"属性名1":变量名1=默认值1, "属性名2":变量名2=默认值2,... } = {"属性名1":属性值1,"属性名2":属性值2,...}