基本
let [a, b, c] = [1, 2, 3];
// a = 1
// b = 2
// c = 3
可巢狀
let [a, [[b], c]] = [1, [[2], 3]];
// a = 1
// b = 2
// c = 3
可忽略
let [a, , b] = [1, 2, 3];
// a = 1
// b = 3
不完全解構
let [a = 1, b] = ; // a = 1, b = undefined
剩餘運算子
let [a, ...b] = [1, 2, 3];
//a = 1
//b = [2, 3]
字串等
在陣列的解構中,解構的目標若為可遍歷物件,皆可進行解構賦值。可遍歷物件即實現 iterator
介面的資料。
let [a, b, c, d, e] = 'hello';
// a = 'h'
// b = 'e'
// c = 'l'
// d = 'l'
// e = 'o'
解構預設值
let [a = 2] = [undefined]; // a = 2
當解構模式有匹配結果,且匹配結果是 undefined 時,會觸發預設值作為返回結果。
let [a = 3, b = a] = ; // a = 3, b = 3
let [a = 3, b = a] = [1]; // a = 1, b = 1
let [a = 3, b = a] = [1, 2]; // a = 1, b = 2
基本
let = ;
// foo = 'aaa'
// bar = 'bbb'
let = ;
// foo = 'ddd'
可巢狀可忽略
let obj = ] };
let ] } = obj;
// x = 'hello'
// y = 'world'
let obj = ] };
let ] } = obj;
// x = 'hello'
不完全解構
let obj = ] };
let , x ] } = obj;
// x = undefined
// y = 'world'
剩餘運算子
let = ;
// a = 10
// b = 20
// rest =
解構預設值
let = ;
// a = 3; b = 5;
let = ;
// aa = 3; bb = 5;
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 現今的變數宣告語法十分的直接 左邊是乙個變數名,右邊可以是乙個陣列 的表示式或乙個物件 的表示式,等等。...