ES6學習筆記 變數的解構賦值

2021-09-24 19:20:17 字數 1124 閱讀 7978

let [foo, [[bar], baz]] = [1, [[2], 3]];

foo // 1

bar // 2

baz // 3

本質上,這種寫法屬於「模式匹配」,只要等號兩邊的模式相同,左邊的變數就會被賦予對應的值

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

x // "a"

y // undefined

z //

var [foo] = ;

foo // undefined

var [bar, foo] = [1];

bar // 1

foo // undefined

如果解構不成功,變數的值就等於undefined

另一種情況是不完全解構,即等號左邊的模式,只匹配一部分的等號右邊的陣列。這種情況下,解構依然可以成功。

let [x, y] = [1, 2, 3];

x // 1

y // 2

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

a // 1

b // 2

d // 4

解構不僅可以用於陣列,還可以用於物件。變數的取值由它的位置決定;而物件的屬性沒有次序,變數必須與屬性同名,才能取到正確的值。

var  = ;

foo // "aaa"

bar // "bbb"

var = ;

foo // "aaa"

bar // "bbb"

var = ;

baz // undefined

物件的解構賦值是下面形式的簡寫

var  = ;
也就是說,物件的解構賦值的內部機制,是先找到同名屬性,然後再賦給對應的變數。真正被賦值的是後者,而不是前者。 

var  = ;

baz // "aaa"

foo // error: foo is not defined

以上摘自

ES6 變數的解構賦值學習筆記

陣列的解析賦值 本質為 模式匹配 如果解構不成功,變數的值就等於undefined var foo var bar,foo 1 foo的值為undefined let x,y,z a x a y undefined z let a,b d 1,2,3 4 上面的例子為不完全解構,但是可以成功。如果等...

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 ...