es6解构
将比较复杂的元素拆分成相对简单的变量
1.解构对象
将等号左侧的形式设置为和解构对象一样的形式即可拿到对应属性
var obj={
name:“lisi”,
age:20,
oo:{
key:“hello”
}
}
let {name,age}=obj
let {name,age,oo:{key}}; //嵌套解析
let {name:nn,age:aa}; //更名解构
let {name,age,gender=“man”}=obj; //赋予默认值,解构默认值的变量一定为undefined,否则赋值失败
let {name,age=10}={name:“lisi”};
2.解构数组
var arr=[1,2,3,4,5]
let [a,b,c,d,e]=arr; //完全解构
let [,a,c,]=arr; //不想赋值的直接跳过
var arr=[1,2,[3,4],5,6];
let [a,b,[c],d,]=arr;
let [a,b=“hello”]=[1]; //赋予默认值
let [a,…b]=[1,2,3,4,5]; //1->a, 剩余的都付给b 剩余项解构
//1 [2,3,4,5]
3.解构字符串
var str=“hello”;
1.当数组解构
let [a,b]=str; //a->h,b->e
2.当对象解构
可以解构包装器函数的原型对象中的属性和方法
let {
length:len //重命名为len
toString
}=str;
4.解构number/boolean
var a=true;
let {
toString
valueOf
}=a;