在讀這本書時,你可能會遇到一些讓人感到困惑且燒腦的章節,比如這裡講的 JavaScript 的 Prototype。
什麼是 JavaScript 的 Prototype?
在學習 JavaScript 時,你可能會遇到一個叫做 prototype 的概念。這個詞看起來有些高深莫測,但實際上,它只是 JavaScript 用來實現繼承的一種方法。簡單來說 prototype
是一種機制,可以讓一個物件共享另一個物件的屬性和方法。
為什麼我們需要 prototype
?
想像一下你正在開發一個應用程式,這個應用程式裡有很多使用者,每個使用者都有自己的名字和年齡。但是,所有使用者都會有一些相同的行為,比如說可以登入和登出。你不想為每個使用者都單獨寫一遍這些相同的方法,這樣會很浪費時間。這時候,prototype
就派上用場了!
如何使用 prototype
?
我們可以利用 prototype
來把那些共用的方法放在一個地方,然後讓所有使用者都能共享這些方法。下面是一個簡單的範例:
function User(name, age) {
this.name = name;
this.age = age;
}
User.prototype.greet = function() {
console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
};
const user1 = new User("Alice", 25);
const user2 = new User("Bob", 30);
user1.greet(); // Output: Hello, my name is Alice and I am 25 years old.
user2.greet(); // Output: Hello, my name is Bob and I am 30 years old.
在這個例子中,greet 方法被定義在 User.prototype 上,這意味著所有由 User 建構函數建立的物件都可以access 這個方法,而不需要每個物件都擁有自己的一份 greet 方法。