在es6中,解構賦值是針對數(shù)組或者對象進行模式匹配,然后對其中的變量進行賦值的意思;解構賦值也是對賦值運算符的擴展,語法為“l(fā)et 解構的目標 = 解構的源;”。
本教程操作環(huán)境:windows10系統(tǒng)、ECMAScript 6.0版、Dell G3電腦。
es6解構賦值是什么意思
概述
解構賦值是對賦值運算符的擴展。
他是一種針對數(shù)組或者對象進行模式匹配,然后對其中的變量進行賦值。
在代碼書寫上簡潔且易讀,語義更加清晰明了;也方便了復雜對象中數(shù)據字段獲取。
解構模型
在解構中,有下面兩部分參與:
-
解構的源,解構賦值表達式的右邊部分。
-
解構的目標,解構賦值表達式的左邊部分。
數(shù)組模型的解構(Array)
基本
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]
示例如下:
注意點:
-
賦值等號的左右側的數(shù)組結構需要一直,這個叫做”模式匹配”
-
如果左右兩側的變量數(shù)與數(shù)值數(shù)的數(shù)量不匹配, 那么就直接跳過缺失部分(謹記, 左邊的跳過了, 右側相應位置的也要跳過)
-
如果左側某個變量前有三個小點, 那么意味著右側對應位置及以后的所有數(shù)值將組合成一個數(shù)組,賦值給左側的該變量,且左側必須是最后一個變量才可以在前面加三個小點,否則報錯
【