一 前言:
在前后端交互的过程中,我们要处理大量的数组。在没有解构赋值之前处理后端返回的数据,比较的麻烦。解构赋值:打破数据的结构,将数据拆分取值的过程。
二 案例
1.对象的结构赋值
const player={
nickName:'shaonianla',
master:'年少有为',
skill:[
{
skillName:'排山倒海',
mp:1000,
time:3000
},
{
skillName:'葵花宝典',
mp:1000,
time:3000
},{
skillName:'隔山打牛',
mp:1000,
time:3000
},
]
};
const {nickName}=player;
const {master}=player;
const {skill:[skill1,{skillName},{skillName:sklName}]}=player;
讲解:
2.解构赋值结合拓展运算符的使用
const obj={
name:"少年啦",
age:18,
sex:"man"
};
const {name,...oth}=obj;
console.log(oth);
const obj1={
summery:'年轻但没钱',
...obj
};
console.log(obj1)
讲解:
思路延伸:
const obj={
name:"少年啦",
age:18,
sex:"man"
};
const {name,...oth}=obj;
console.log(oth);
const obj1={
age:23,
summery:'年轻但没钱',
...obj
};
console.log(obj1)
TIPS:在这段代码中,obj,和obj1都有同样的变量age,那么在进行拓展运算符进行解构赋值之后,obj1中的age会被obj中的值所覆盖。
3.如何对已经声明的变量进行解构赋值
let price;
const shop1={
name:'酱爆猪蹄',
price:22
};
({price}=shop1);
讲解:
4.解构赋值的默认值
let girlFriend={
name;'迪丽热巴',
age:25
};
let {name,age=21,hobby=['吃','少年啦']}=girlFriend;
讲解:
5.提取对象的属性
const {name,hobby:[hobby1],hobby}={
name:'少年啦',
hobby:['学习','吃饭']
}
讲解:
6.使用对象传入乱序的函数参数
function Request({
url,
data,
type='get'
}){
}
讲解:
7.获取多个 函数的返回值
function getUserInfo(userId){
//..ajax
return{
status:true,
data:{
name:'小白'
},
msg:'请求成功'
}
}
const {status,data,msg}=getUserInfo(123);
讲解:
三 总结
csdn貌似对我的ide不够友好,排版都是乱的。将就着看吧,下回记录数组的解构赋值,顺便换个ide