es6筆記2之解構賦值,rest和展開運算子
阿新 • • 發佈:2019-01-14
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] 其實