預設值
let [foo = true] = ;foo // true
let [x, y = 'b'] = ['a']; // x='a', y='b'
let [x, y = 'b'] = ['a', undefined]; // x='a', y='b'
es6 內部使用嚴格相等運算子(===
),判斷乙個位置是否有值。所以,如果乙個陣列成員不嚴格等於undefined
,預設值是不會生效的。
以下三種解構賦值不得使用圓括號:
(1)變數宣告語句中,不能帶有圓括號。
(2)函式引數中,模式不能帶有圓括號。
(3)賦值語句中,不能將整個模式,或巢狀模式中的一層,放在圓括號之中。
可以使用圓括號的情況只有一種:
賦值語句的非模式部分,可以使用圓括號。
變數的解構賦值用途:
(1)交換變數的值
(2)從函式返回多個值
(3)函式引數的定義
(4)提取json資料
(5)函式引數的預設值
(6)遍歷map結構
(7)輸入模組的指定方法
ES6 變數解構
es6允許按照一定的模式,從陣列和物件中提取值,對變數進行賦值,這被稱為解構 destructuring 語法 let a,b,c 1,2,3 console.log a,b,c 1 2 3 順序 從陣列中取值,按照對應位置,對變數取值,這種寫法屬於 匹配模式 只要等號兩邊模式相同,左邊的變數就會被...
ES6 變數解構用法
1 陣列解構,可以設定預設值 use strict let x,y b a 控制台輸出b console.log y 2 物件解構 use strict let 控制台輸出aaa console.log foo 控制台輸出bbb console.log bar 物件的解構與陣列有乙個重要的不同。陣列...
es6變數解構賦值
es6允許按照一定模式,從陣列和物件中提取值,對變數進行賦值,這被稱為解構。解構賦值在實際開發中可以大量減少我們的 量,並且讓我們的程式結構更清晰。陣列的解構賦值 let a,b 1 2 console.log a 1 console.log b 2 上面的 表示,可以從陣列中提取值,按照位置的物件...