解構賦值
通過解構賦值,可以快速從物件或者陣列中取出屬性或者數值,
-
解構賦值
可以通過定位到陣列或者物件的某一個位置,將值直接賦給一個或多個變數,
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]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/532609.html
標籤:其他
