1. 程式人生 > >es6筆記2之解構賦值,rest和展開運算子

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