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=1, b=2
let = ;
//c=undefined
參考文章: es6變數解構賦值
es6允許按照一定模式,從陣列和物件中提取值,對變數進行賦值,這被稱為解構。解構賦值在實際開發中可以大量減少我們的 量,並且讓我們的程式結構更清晰。陣列的解構賦值 let a,b 1 2 console.log a 1 console.log b 2 上面的 表示,可以從陣列中提取值,按照位置的物件...
ES6變數解構賦值
es6 允許按照一定模式,從陣列和物件中提取值,對變數進行賦值,這被稱為解構 es6之前我們申明多個變數需要按照下面的方法 let l a 1 let b 2 let c 3 let d 4 或者 let a 1,b 2,c 3,d 4 現在我們可以更加簡便 let a,b,c,d 1,2,3,4 ...
es6 變數解構賦值
1.陣列的解構賦值 等號兩邊的模式相同,左邊的變數就會被賦予對應的值 預設值 undefined型別只有乙個值,即undefined。當宣告的變數還未被初始化時,變數的預設值為undefined。null型別也只有乙個值,即null。null用來表示尚未存在的物件,常用來表示函式企圖返回乙個不存在的...