目錄
一、什麼是解構賦值?
二、陣列模型的解構(array)
三、物件模型的解構(object)
解構賦值是對賦值運算子的擴充套件。是一種針對陣列或者物件進行模式匹配,然後對其中的變數進行賦值。
1、基本
let [a,b,c] = [1,2,3]
console.log() // 輸出
2、可巢狀
let [a,[[b],c]] = [1,[[2],3]]
console.log() // 輸出
3、可忽略
let [a, , b] = [1, 2, 3]
console.log() // 輸出
4、不完全解構
let [a = 1, b] =
console.log() // 輸出
5、剩餘運算子
let [a, ...b] = [1, 2, 3]
console.log() // 輸出
6、字串
let [a, b, c] = '你好!'
console.log() // 輸出
7、解構預設值當解構模式有匹配結果,且匹配結果是 undefined 時,會觸發預設值作為返回結果。
let [a = 2] = [undefined]; // a = 2
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
1、基本
let = ;
// foo = 'aaa'
// bar = 'bbb'
let = ;
// foo = 'ddd'
2、可巢狀、可忽略
let obj = ] };
let ] } = obj;
// x = 'hello'
// y = 'world'
let obj = ] };
let ] } = obj;
// x = 'hello'
3、不完全解構
let obj = ] };
let , x ] } = obj;
// x = undefined
// y = 'world'
4、剩餘運算子
let = ;
// a = 10
// b = 20
// rest =
5、解構預設值
let = ;
// a = 3; b = 5;
let = ;
// aa = 3; bb = 5;
ES6 (2) 解構賦值
對於解構賦值個人感覺需要理解左查詢與右查詢的區別,然後對解構賦值的理解才會更深一些。解構賦值 對陣列和物件中的值提取,賦值到宣告的變數中。模式匹配 模式相同,或者說樣子一樣 如果不成功,變數值為undefined,等號右邊不是陣列 不是可遍歷,因為模式是陣列 會報錯。允許指定預設值 左右匹配使用的是...
ES6 2 解構賦值(陣列和物件)
1.解構賦值 destructuring es6 允許按照一定模式,從陣列和物件中提取值 變數值的 對變數進行賦值 作用 這被稱為解構。2.陣列的解構賦值 let arr 1,2,3 let a,b,c arr console.log a,b,c 1 2 3let b,c 1,2,3 console...
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...