數組的解構賦值
情景一:聲明多個變量,等于一個數組畅卓,相應的值會與數組里面的項對應起來擅腰,這里變量c有一個默認值5,如果數組中有對應的項髓介,則會重新給C賦值惕鼓,沒有就返回默認值(注意:在沒有給變量C默認值筋现,數組中又沒有對應的值的時候唐础,將會返undefined)
let a, b, c
[a, b, c = 5] = [1, 2]
console.log(a, b, c);//1 2 5
情景二:運用...展開符給變量賦值,這里如果數組中有多余的項的時候,可以用...展開符后截取數組多余的項矾飞,如果不需要數組某個項一膨,可以用逗號代替
let a, b, c;
[a, b, , , ...c] = [1, 2, 3, 4, 5, 6]
console.log(a, b, c); //1 2 [5, 6]
應用場景:
函數里面返回一個數組,如果沒有es6的解構賦值洒沦,將需要用一個變量接受函數返回的值豹绪,再用索引來取,就顯得比較麻煩申眼,這里有了解構賦值就特別方便
function fn() {
return [2, 15, 20, 30]
}
let a, b;
[a, ...b] = fn()
console.log(a, b); //2 [15, 20, 30]
對象的解構賦值
簡單理解瞒津,就是將對象的鍵作為變量的名字,然后得到對象屬性相應的值
{
let { a, b } = { a: 3, b: 56 }
console.log(a, b); //3 56
}
應用場景:
后臺返回的數據
{
let { statusCode: code, result: { title: b } } = {
result: {
title: '中國情'
},
statusCode: '200'
}
console.log(code, b); //200 中國情
}
使用對象的解構賦值括尸,簡單處理一下是不是方便了很多呢
~~第一次寫文章巷蚪,如有不對之處,請多多指教濒翻!