es6 解構賦值

2021-09-28 20:07:46 字數 3034 閱讀 2822

let

[a, b, c]=[

1,2,

3];a // 1;

b // 2;

c // 3;

----

----

----

----

----

----

----

-------

let[a, b, c]=[

1,[2

,3],

4];a // 1;

b // [2, 3];

c // 4;

----

----

----

----

----

----

----

-------

let[a,

[b], c]=[

1,[2

,3],

4];a // 1;

b // 2;

c // 4;

----

----

----

----

----

----

----

-------

let[a,

...b]=[

1,2,

3,4]

;a // 1;

b // [2, 3, 4];

let

[a, b =5]

=[1]

;a // 1;

b // 5;

----

----

----

----

----

----

----

-------

let[a, b =5]

=[1,

2];a // 1;

b // 2;

----

----

----

----

----

----

----

-------

let[a, b =5]

=[1, undefined]

;a // 1;

b // 5; undefined不生效

----

----

----

----

----

----

----

-------

let[a, b =5]

=[1,

null];

a // 1;

b // null;

let

[x =

1, y = x]=[

];//x=l ; y=l

let[x =

1, y = x]=[

2];//x=2 ; y=2

let[ x =

1, y = x]=[

1,2]

;//x=l; y=2

let[ x = y , y = l]=[

];//referenceerror y沒有宣告

物件解構賦值與陣列不同,陣列根據位置進行賦值,而物件屬性沒有順序,變數名必須和屬性名相同才能賦值。

let=;

name // uzi;

age // 18;

----

----

----

----

----

----

----

-------

// 變數名沒有相同屬性名,等於undefined

let=

;profession // undefined;

----

----

----

----

----

----

----

-------

// 變數名和屬性名不同可以寫成下面這樣

let=

;profession // adc;

物件的解構賦值的內部機制是先找到同名屬性,然後再賦值給對應的變數。真

正被賦值的是後者,而不是前者。

let people =]}

;let]}

= people;

name // uzi;

best // vn;

playhero // playhero is not defined。playhero是模式不是變數,不會被賦值

let= people;

name // uzi;

playhero // ["小炮", ]

// playhero是變數,會被賦值

字串也可以解構賦值。這是因為此時字串被轉換成了乙個類似陣列的物件。

let

[a, b, c]

='uzi'

;a // u;

b // z;

c // i;

----

----

----

----

----

----

----

-------

//類似陣列的物件都有乙個 length 屬性 因此還可以對這個屬性進行解構賦值

let=

'uzi'

;len // 3;

解構賦值時 如果等號右邊是數值和布林值 ,則會先轉為物件。

let

=123

;s === number.propotype.tostring;

// true

----

----

----

----

----

----

----

-------

let=

true

; s === boolean.prototype.tostring;

// true

ES6 解構賦值

陣列的解構賦值 let a,b 12,13 let a,b,c d 13,15,16 let a,b c 78,12 23 let x,y 1,3,5 x 1,y 3 let x,y,z a x a,y undefined z let h,b 1,2,3,4 1,2,3,4 預設值 let x tr...

ES6解構賦值

一 基本用法 解構 destructuring 按照一定的模式,從陣列或者物件中提取值,對變數進行賦值。let par1,par2,par3 1,2 console.log par1,par2,par3 1 2 不完全解構時par3對值為undefined 解構賦值允許指定變數對預設值。let pa...

es6解構賦值

coding changes the world accumulating makes yourself 主要從三個方面講述 陣列式的解構賦值 物件式的解構賦值 函式中的解構賦值 preface 現今的變數宣告語法十分的直接 左邊是乙個變數名,右邊可以是乙個陣列 的表示式或乙個物件 的表示式,等等。...