es6笔记2之解构赋值,rest和展开运算符
1.数组解构
var arr=[1,2,3]
var [a,b,c]=arr 然后就可以给abc分别赋对应的值
应用场景:
1.1 var [x,y]=[y,x] 变量互换
1.2 字符串解构 var [a,b,c]='lha
'1.3 复杂嵌套 var [a,,[b,c]]=[1,2,[3,4]]
像模块化import export都用到了解构
2.对象解构
var obj={
name:‘LIHANG’,
age:18,
son:{
name:'LILI',
age:15
}
}
es6 tips //当对象key value重名时可以简写
var {name:fatherName,son:{name,age}=obj
注意 嵌套有重复属性需要改名 也可以数组加对象嵌套解构 但是babel暂不支持
也可以使用循环解构数组多个对象
3.扩展运算符
var arr=[1,2,3]
将数组或者类数组对象(argments等)展开为一系列逗号隔开的值
...arr=1,2,3
function(...arr){
}以前想给方法传数组只能用apply的形式
3.1特殊应用
3.1 数组的浅拷贝
3.2 字符串转数组...str
3.2 数组合并 [...arr,1,2,3]类似concat
展开运算符一般在等号右边
rest一般在等号左边
4.rest运算符
和展开相反 将逗号隔开的值变为数组
[a,,...REST]=[1,2,3,4] 其实