1. 程式人生 > >es6學習筆記解構

es6學習筆記解構

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']