ES6系列----變量的解構賦值

ES6規定,允許按照一定模式數組對象中提取值,對變量進行賦值,這種被稱爲解構。

一、 數組的解構賦值

數組的解構賦值是指,左邊是一個數組,右邊也是數組,按照對應的位置對左邊的變量進行賦值。

let [a, [b], c] = [1, [2,3], 4];  
//a=1, b=2, c=4

如果結構不成功,變量的值就等於undefined。

let [x, y, ...z]=['a'];
//x='a', y=undefined, c=[]

如果等號右邊的值或轉爲對象以後,不具備Interator接口,或者本身不具備Interator接口,則會報錯

let [a] = 1;
let [a] = false;
let [a] = NaN;
let [a] = undefined;
let [a] = null;
let [a] = {};

// 以上都會報錯,前面五個轉爲對象後不具備Interator接口,最後一個本身不具備Interator接口

 解構賦值允許指定默認值(備註:變量對應位置的值必須===undefined才能生效):

let [a = true] = [1];
//a=true

let [x, y='b'] = ['a'];
//x='a', y='b'

let[c=true]= [null];
//c=null,以爲c對應位置的值爲null,null!==undefined,故默認值無效

 

二、對象的解構賦值 

變量必須與屬性同名,才能取到對應的值:

let {a, b} = {a:1, b:2};
//a=1, b=2

let {c} = {a:1, b:2};
//c=undefined

 參考文章:http://es6.ruanyifeng.com/

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章