iT邦幫忙

0

【30 天JavaScript 實戰 】 Day 7|物件基礎

2025-10-16 14:34:52127 瀏覽
  • 分享至 

  • xImage
  •  

今天要來學習JavaScript 裡的「物件(Object)」怎麼建立、拆解、合併與操作!


今日的目標:

  • 了解物件的基本概念
  • 巢狀物件
  • 解構賦值
  • 理解展開運算子(Spread …)與 Rest
  • 使用 in 運算子檢查屬性
  • 熟悉 Object.keys / values / entries

一、什麼是物件?

物件是 JS 中最常見的資料型別之一,用來「成對」儲存資訊:key(屬性名) + value(值)
我們會用 {} 來建立資料,然後透過「點」或「中括號」存取屬性。

就像一個資料夾,裡面放著一堆標籤和內容:

const user = {
  name: 'Gao', // key 預設是字串(name 等同 'name')
  age: 23,
  isMember: true
};

二、巢狀物件

物件裡還可以放物件或陣列,用來表達更複雜的結構:

const post = {
  title: 'JS 教學',
  author: { name: 'Gao', id: 7 },
  tags: ['JS', 'Object']
};

這樣你就能像拿資料夾一樣一層層打開取值
像是post.author.name → 'Gao'

三、解構賦值(Destructuring)

如果常常要取同樣的 key,我們可以把他「拆開」成變數:

const { title, author } = post;

這樣就不用 post.title、post.author 一直打。
還能改名字、加預設值,非常靈活。

四、展開運算子(Spread ...)與 Rest

  • Spread:展開屬性,常用於複製、合併
  • Rest:收集剩餘屬性,放在解構左邊

想複製或合併物件時:

const user = { name: 'Gao', age: 23 };
const more = { city: 'Taipei' };
const combined = { ...user, ...more }; // { name: 'Gao', age: 23, city: 'Taipei' }

想拿出部分屬性時:

const { age, ...rest } = combined;
// rest = { name: 'Gao', city: 'Taipei' }

五、in 運算子

用來檢查某個屬性名是不是存在於物件中~

console.log('name' in user);      // true

六、Object.keys / values / entries

讓物件變得「可遍歷」,對資料清洗或轉換非常實用!而且方便用 for...of 走訪:

const product = { id: 1, name: 'Bag', price: 500 };
Object.keys(product);   // ['id', 'name', 'price']
Object.values(product); // [1, 'Bag', 500]
Object.entries(product);// [['id',1], ['name','Bag'], ['price',500]]
  • Object.keys會回傳「屬性名稱的陣列」,是字串陣列
  • Object.values會回傳「屬性值的陣列」,是值的陣列
  • Object.entries會回傳「[key, value] 二維陣列」,是「陣列的陣列(2D array)」

/images/emoticon/emoticon69.gif


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言