什麼是解構賦值
就是左邊一種結構,右邊一種結構,一一對應賦值
結構有 陣列,布林值,物件,字串,數值,函式引數解構賦值,常用的是陣列,物件這兩種。
陣列
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;輸出為1,2,3[a,b,c=3]=[1,2];
console.log(a,b,c);
let a,b,c,rest;輸出為1,2,undefind[a,b,c]=[1,2];
console.log(a,b,c);
通過解構賦值可以輕鬆的實現值的交換
let a=1;輸出為2,1let b=2;
[a,b]=[b,a];
console.log(a,b);
如果沒有es6,我們將用變數來中間值
函 數
let a,b;輸出值為2,3function
f()[a,b]=f();
console.log(a,b);
若我們沒有使用es6,我們將用乙個值來接收函式的返回值,然後索引乙個個取出值,比較麻煩。
let a,b,c;輸出值為1,4function
f()[a,,,b]=f();
console.log(a,b);
這樣的寫法讓自己想取哪個值就取哪個值
let a,b,c;輸出是1 , [2, 3, 4, 5]function
f()[a,...b]=f();
console.log(a,b);
a是乙個值,b是乙個陣列,當我們不知道返回的陣列有多長時,我們就可以用乙個陣列來儲存,想用時就遍歷它。
let o=;輸出的是42,truelet =o;
console.log(p,q);
但我不知道為什麼只能定義的新變數要是p,q,和物件o裡的一樣
let =;輸出結果為30,2console.log(p,q);
let =;輸出為2,30console.log(p,q);
名稱要對應起來
let met=] }輸出為wwww wesdlet ]}=met;
console.log(s,b);
物件一一對應取值,這是特別常用的一種方法前端獲取後端傳過來的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 現今的變數宣告語法十分的直接 左邊是乙個變數名,右邊可以是乙個陣列 的表示式或乙個物件 的表示式,等等。...