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 現今的變數宣告語法十分的直接 左邊是乙個變數名,右邊可以是乙個陣列 的表示式或乙個物件 的表示式,等等。...