iT邦幫忙

2026 iThome 鐵人賽

DAY 15
0

當陣列或物件的資料一多,每次列出完整資料就會變得很長爾且如果只是想看一兩筆資料的話也比較難找。解構可以將需要的屬性直接取出來。

const Torterra ={
    HP: 95,
    Attack: 109,
    Defense: 105,
    SpecialAttack: 75,
    SpecialDefense: 85,
    Speed: 56,
    Total:525,
    Type: "Grass/Ground",
    ID:389,
    poke_name: "Torterra",
}
const {Type, poke_name, ID} = Torterra
console.log(Type)
console.log(poke_name)
console.log(ID)

https://ithelp.ithome.com.tw/upload/images/20260929/20178696rQoIMSiYg2.png

想換成一個變數名稱時,可以在後面加上冒號:


const { SpecialAttack: SPA } = Torterra;
console.log(SPA);

https://ithelp.ithome.com.tw/upload/images/20260929/20178696HLqaT3V6sf.png
陣列解構則是按照位置。第一個名稱取得索引 0,第二個名稱取得索引1。

const all_type=["Grass","Ground","Fire","Water","Electric","Psychic","Ice","Dragon","Dark","Fairy"]

const [First,Second,Third] = all_type
console.log(First)
console.log(Second)
console.log(Third)

https://ithelp.ithome.com.tw/upload/images/20260929/201786965lsadkLiwQ.png

const { level } = Torterra;
console.log(level);

https://ithelp.ithome.com.tw/upload/images/20260929/20178696Iuhg8c6B6D.png

const { level = "LV1" } = Torterra;
console.log(level);

如果資料不存在時,可以在一開始就給上預設值。如果不設的話當資料找不到時會顯示undefined時,這時候預設值才會補上。
https://ithelp.ithome.com.tw/upload/images/20260929/20178696oP6yIBnY1M.png
還有一種用法為...,能夠將物件的內容進行複製,在最後的添上的level,則是在可以複製的物件中,補上新的屬性,我們這邊就可以看看複製物件與原物件之間的差別

const copypoke = { ...Torterra, level: 100 };
console.log(copypoke);
console.log(Torterra);

https://ithelp.ithome.com.tw/upload/images/20260929/20178696eHl9X95Rbe.png


上一篇
Day14
系列文
從頭開始的Javascript學習之旅 共 15 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言