es6 解構賦值

2022-05-07 11:42:13 字數 1522 閱讀 4593

什麼是解構賦值

就是左邊一種結構,右邊一種結構,一一對應賦值

結構有 陣列,布林值,物件,字串,數值,函式引數解構賦值,常用的是陣列,物件這兩種。

陣列

let a,b,rest;

[a,b,...rest]=[1,2,3,4,5,6,7];

console.log(a,b,rest);

物件

let a,b;

(=)console.log(a,b);

預設值

let a,b,c,rest;

[a,b,c=3]=[1,2];

console.log(a,b,c);

輸出為1,2,3

let a,b,c,rest;

[a,b,c]=[1,2];

console.log(a,b,c);

輸出為1,2,undefind

通過解構賦值可以輕鬆的實現值的交換

let a=1;

let b=2;

[a,b]=[b,a];

console.log(a,b);

輸出為2,1

如果沒有es6,我們將用變數來中間值

函 數

let a,b;

function

f()[a,b]=f();

console.log(a,b);

輸出值為2,3

若我們沒有使用es6,我們將用乙個值來接收函式的返回值,然後索引乙個個取出值,比較麻煩。

let a,b,c;

function

f()[a,,,b]=f();

console.log(a,b);

輸出值為1,4

這樣的寫法讓自己想取哪個值就取哪個值

let a,b,c;

function

f()[a,...b]=f();

console.log(a,b);

輸出是1 , [2, 3, 4, 5]

a是乙個值,b是乙個陣列,當我們不知道返回的陣列有多長時,我們就可以用乙個陣列來儲存,想用時就遍歷它。

let o=;

let =o;

console.log(p,q);

輸出的是42,true

但我不知道為什麼只能定義的新變數要是p,q,和物件o裡的一樣

let =;

console.log(p,q);

輸出結果為30,2

let =;

console.log(p,q);

輸出為2,30

名稱要對應起來

let met=] }

let ]}=met;

console.log(s,b);

輸出為wwww wesd

物件一一對應取值,這是特別常用的一種方法前端獲取後端傳過來的json時,可以這樣獲得值。

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