es6學習筆記解構
阿新 • • 發佈:2018-12-02
http://es6.ruanyifeng.com/#docs/destructuring 詳細內容見ES6詳解,以下為筆記
陣列解構
let [a,b,c]=[1,2,3];
左邊基本資料結構與右邊相同,資料量可以不完全相同,按順序賦值
變數賦值優先順序為 右邊為null > 右邊有值(不為undefined)>預設值 >表示式賦值/其他變數賦值
let [a=1]=[null]; a=null
let [a=1]=[2]; a=2
function foo(){
return ='foo'
}
let [a=foo()]=[2] a=2
let [a=1,b=a]=[1,2] a=1,b=2
物件的解構
物件的解構與陣列結構的最大不同點在於,物件的解構通過鍵名進行賦值
let {x1:x,y1:y}={x1:1,y1:2}
x1,y1是賦值模式
被賦值的變數是X 和 Y
x=1 ,y=2
簡寫 let{x,y}={x:1,y:2}
字串解構
與陣列解構相同,將字串拆分為陣列進行賦值
let [a,b,c,d,e]='hello',
相當於 let[a,b,c,d,e]=['h','e','l','l','o']