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和展开运算符的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: http和https的一种能力?
- 下一篇: Leetcode 436.寻找右区间