ES6 實作物件導向

俗稱語法糖。

簡述

附註:

  1. Class 的命名慣例是大頭開頭(蠻重要的)
  2. 用來拿物件值的 function 一般會稱為「getter」,設值則稱為「setter」
  3. 私有屬性一般會加上 _ 前綴來表示,告訴別人知道沒事不要亂動。(因為還是可以存取的到)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Person {
// init
constructor (name) {
this._name = name;
}
// getter
getName () {
console.log(this._name);
}
// setter
changeName (newName) {
this._name = newName;
}
}

const person1 = new Person('PeaNu');
const person2 = new Person('PPB');
person1.getName(); // PeaNu
person2.getName(); // PPB

物件導向的原則就是:

  1. 先寫好模板
  2. 用模板把東西生出來(俗稱 new 一個 instance 出來)

所以上面寫了 Person 這個模板,在透過 new 來把 instance 生出來。

通常在 new 的時候會希望能做些「初始值」的設定,所以就會透過 constructor(建構子)來完成。你也可以想成 new 就是再呼叫 constructor 這種感覺。

ES5 實作物件導向 什麼是物件導向
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×