按照一定的模式,從陣列和物件中取值,對變數進行賦值,稱為解構。解構賦值時,只要等號兩邊不是物件,就先將其轉換成物件。**演示:可以說這種方式就是等號兩邊的解構相同,左邊的變數就會被賦予右邊的對應值。
陣列:
let [a,b,c] = [10,20,30];
console.log(a,b,c); ==> 輸出結果:10,20,30
物件:let = ;
console.log(a,b,c,d); ==> 輸出結果:'你' '真' '好' '看'
1)undefined與null 無法轉換成物件,解構賦值會報錯。 ==> cannot destructure propertya
of 『undefined』 or 『null』.
2)
let [a] = 10;
console.log(a);
這種賦值方式會報錯 ==> 10 is not iterable。原因:等號的右邊不是陣列,轉換物件以後不具備 iterator介面,或本身就不具備iterator介面
3)左邊引數允許預設值
let [a,b,c=30] = [10,20];
console.log(a,b,c);
==> 輸出結果:10 20 30
4)物件解構賦值屬性沒有次序,賦值的時候會給對應的屬性名進行賦值。
let = ;
console.log(a,b,c,d)
==> 輸出結果:10 10 303 20
5)變數名與屬性值不一致,是給屬性值進行賦值
let =;
console.log(a);
==> 輸出結果: a is not defined
console.log(b);
==> 輸出結果:12這種情況是為a的屬性值b進行賦值
6)將乙個已有變數進行解構賦值
let a
( = );
console.log( = );
==> 輸出結果:(=):必須要加括號,避免js在解析過程中將 解析成**塊。
7)字串解構賦值,會將字串拆分開,把每一項賦值給對應變數
let [a,b,c] = 'hello world';
console.log(a,b,c);
==> 輸出結果:『h』 『e』 『l』
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用來表示尚未存在的物件,常用來表示函式企圖返回乙個不存在的...