ES6 允許按照一定模式,從數(shù)組和對(duì)象中提取值,對(duì)變量進(jìn)行賦值,這被稱為解構(gòu)。
以前,為變量賦值,只能直接指定值。
let a = 1;
let b = 2;
let c = 3;
ES6允許寫成下面這樣。
let [a, b, c] = [1, 2, 3];
上面代碼表示,可以從數(shù)組中提取值,按照對(duì)應(yīng)位置,對(duì)變量賦值。
本質(zhì)上,這種寫法屬于“模式匹配”,只要等號(hào)兩邊的模式相同,左邊的變量就會(huì)被賦予對(duì)應(yīng)的值。下面是一些使用嵌套數(shù)組進(jìn)行解構(gòu)的例子。
Paste_Image.png
如果解構(gòu)不成功,變量的值就等于undefined。
Paste_Image.png
以上兩種情況都屬于解構(gòu)不成功,foo的值都會(huì)等于undefined。
Paste_Image.png
本文章主要內(nèi)容來自阮一峰的ES6入門一書中