解構賦值 通過解構賦值,可以快速從對象或者數組中取出屬性或者數值。 解構賦值 可以通過定位到數組或者對象的某一個位置,將值直接賦給一個或多個變數。 const arr = ['dasha', 'ersha', 'gangdan'] let [a, b, c] = arr //a='dasha' b= ...
解構賦值
通過解構賦值,可以快速從對象或者數組中取出屬性或者數值。
-
解構賦值
可以通過定位到數組或者對象的某一個位置,將值直接賦給一個或多個變數。
const arr = ['dasha', 'ersha', 'gangdan'] let [a, b, c] = arr //a='dasha' b='ersha' c='gangdan' //假如需要交換ab的值 只需要 [a, b] = [b, a]
-
解構賦值嵌套
複雜的對象或者數組也可以使用這種方法。
const arr = [1, [2,3,4], 5] let [a, [b,,d], c] = arr console.log(a) // 1 console.log(b) // 2 console.log(d) // 4
-
解構賦值的預設值
給變數先設置好預設值,當數組或者對象中無法找到匹配的值,則將預設值賦給變數。
let [a=1] = [100] // a=100 let [b=1] = [] // b=1
-
解構賦值用在對象上時候,需要用鍵的方式
const obj = { name:'shabi', age:12, } let{age} = obj // 為了防止age在上面被let定義過了,可以將age改名為ag let{age:ag, err="定義err預設值即使對象中沒有這個屬性,也可以獲取到這個預設值字元串"} = obj console.log(err)// '定義err預設值即使對象中沒有這個屬性,也可以獲取到這個預設值字元串'
-
解析一個從函數返回的數組
獲取返回值進行解構賦值,更加方便
function test(){ return [1,2,3] } let [x,y] = test() console.log(x) //x = 1 console.log(y) //y = 2
-
rest寫法:將剩下的所有值賦值給一個變數
這種寫法只能適用於用在最後一位,無法用在開頭或者中間,否則會報錯。
let [a,...rest] = [1, 2, 3]; console.log(a); // 1 console.log(rest); // [2, 3]