解构赋值
在解构中,有两部分参与:
解构的源,表达式的右边部分;解构的目标,表达式的左边部分。
1. 数组解构赋值
let [a, b, c] = [1, 2, 3]; // a = 1, b = 2 ,c = 3
let [a, [[b], c]] = [1, [[2], 3]]; // a = 1, b = 2 ,c = 3
let [a, ...b] = [1, 2, 3]; // a = 1, b = [2, 3]
let [a = 1, b = 2 , c] = []; // a = 1, b = 2 ,c = undefined
2. 对象解构赋值
//1.同名变量解构赋值
let obj = {
id : '20200127',
name : 'jack'
};
let {id,name} = obj;
console.log(id); // 20200127
console.log(name); // jack
//2.不同名变量解构赋值
let obj2 = {
id: '20200127',
name : 'rose'
};
let {id:userId,name:userName} = obj2;
console.log(userId); //'20200127'
console.log(userName); //'rose'
//3.剩余运算符
let {a, b, ...rest} = {a: 1, b: 2, c: 3, d: 4};
// a = 1 , b = 2 , rest = {c: 3, d: 4}
3. 字符串解构
let [a, b, c, d,] = 'jack';
// a = 'j'
// b = 'a'
// c = 'c'
// d = 'k'
注意 : 当解构模式有匹配结果,且匹配结果是 undefined 时,会触发默认值作为返回结果
let [a = 1 , b = 2] = []; // a = 1, b = 2
let [a = 1, b = a] = []; // a = 1, b = 1
let [a = 1, b = a] = [2]; // a = 2, b = 1
let [a = 1, b = a] = [3, 4]; // a = 3, b = 4
let {a = 1, b = 2} = {a: 3}; // a = 3; b = 2;
使用案例
getDeviceTypeList({ results: 10, page: 1,}); //调用
getDeviceTypeList(obj) {
//获取设备类型的接口
getDeviceTypeListPage(obj).then(res => {
})
},