iT邦幫忙

2025 iThome 鐵人賽

DAY 7
0

想像一個人有姓名、年齡、身高、體重,如果都用獨立變數會變成這樣:

let name = '小明';
let age = 25;
let height = 170;
let weight = 65;

這樣雜亂又不好管理,物件(object) 就是為了解決這種需求:把一組相關資料和對這些資料的操作(方法)放在同一個地方就可以解決這個問題,讓我們來試試看吧!

1.建立物件

最基本的寫法是用 {} 包起來,裡面用「屬性: 值」:

const person = {
  name: '小明',
  age: 25,
  height: 170,
  weight: 65
};

console.log(person.name);  // '小明'
console.log(person['age']); // 25

用 . 或 [] 都可以存取屬性。

2. 新增、修改、刪除屬性

物件是動態的,可以後加屬性,也可以改值

person.job = '工程師';     // 新增屬性
person.age = 26;           // 修改屬性
delete person.height;      // 刪除屬性

console.log(person);

像這樣就可以改變屬性囉

3. 物件裡的函式:方法

物件裡也可以放函式,我們把這個函式稱做「方法」,像這樣
範例:

const person = {
  name: '小明',
  age: 25,
  greet: function() {
    console.log('嗨,我是 ' + this.name);
  }
};

person.greet(); // 嗨,我是 小明

在範例裡用到的this指的是「這個物件自己」

4. 巢狀物件與陣列

物件裡也可以放陣列或其他物件,組合出更複雜的資料結構:

const student = {
  name: '小美',
  scores: {
    math: 90,
    english: 85
  },
  hobbies: ['畫畫', '看書']
};

console.log(student.scores.math); // 90
console.log(student.hobbies[0]);  // 畫畫

5. 遍歷物件屬性

想要一次看完所有屬性可以用 for...in:

for (let key in person) {
  console.log(key + ': ' + person[key]);
}

小練習
學完了物件之後,做個練習,把昨天的 BMI 計算做成物件的方法

const person = {
  name: '小明',
  height: 170,
  weight: 65,
  calcBMI: function() {
    return this.weight / ((this.height / 100) ** 2);
  }
};

console.log(person.name + ' 的 BMI:' + person.calcBMI());

那今天就到此為止啦,我們明天再見!


上一篇
Day6:函式
下一篇
Day8:陣列
系列文
30天入門Java Script14
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言