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]  其实

 

转载于:https://www.cnblogs.com/stephenleee/p/10268252.html

你可能感兴趣的:(es6笔记2之解构赋值,rest和展开运算符)