1. 程式人生 > 其它 >ES6 解構賦值詳解易懂

ES6 解構賦值詳解易懂

技術標籤:es6es6

轉載於:https://blog.csdn.net/weixin_40967353/article/details/107982205
如有侵權,請聯絡刪除!
基本概念:本質上是一種匹配模式,只要等號兩邊模式相同,那麼左邊變數可以被賦予對應的值。
解構賦值主要分為:陣列的解構賦值 、物件的解構賦值
陣列解構:如
1 )當我們要接收的變數和要解構的資料長度相等時,會依次根據資料的對應關係分別賦值

//陣列解構
let arr = [1,2,3,4];
let [a,b,c,d] = arr;
console.log(a,b,c,d);

等號左邊是我們要解構的資料物件,等號右邊是我們要接收的解構的變數,所以輸出的結果是1,2,3,4

2 )當我們要接收的變數和要解構的資料長度不等時,會依次根據資料的對應關係分別賦值 不存在的對應,變數會預設賦值為undefined

let arr = [1,2,3,4];
let [a,b,c,d,e] = arr;
console.log(a,b,c,d,e); 1 2 3 4 undefined

因為在資料物件解構的過程中,變數e對應的已經沒有資料,所以解構之後,賦值undefined
3 )我們也可以使用擴充套件運算子來接收剩餘的多個解構結果

let arr = [1,2,3,4];
let [a,...arr2] = arr;
console.log(a) //1
console.log(arr2) //[2,3,4]

物件解構 如
物件的解構跟陣列的類似,不同的是我們是在等號的左邊使用{}來接收解構後的結果

let obj = {
    name:'zhangsan',
    age:30
}
let {name,age} = obj;
console.log(name,age)

除此之外我們還可以在解構的過程中,將解構的結果重新命名,賦值給一個新的變數

let obj = {
    name:'zhangsan',
    age:30
}
let {name:myName,age:myAge} = obj;
console.log(myName,myAge)

以上就是常用的兩種解構賦值,歡迎交流!