プロトタイプとは
プロトタイプ(Prototype)は、JavaScriptにおいてオブジェクト指向プログラミングの特徴の1つです。通常のクラスベースのオブジェクト指向プログラミング言語とは異なり、JavaScriptではプロトタイプベースのオブジェクト指向が採用されています。
プロトタイプは、オブジェクトが持つメソッドやプロパティの元となるオブジェクトのことを指します。すべてのオブジェクトは、プロトタイプを持っており、プロトタイプからメソッドやプロパティを継承します。
例えば、次のようにオブジェクトを定義することができます。
// Personオブジェクトの定義
var Person = {
// プロパティ
name: "John",
age: 30,
// メソッド
greet: function() {
return "Hello, my name is " + this.name + " and I'm " + this.age + " years old.";
}
};
このPerson
オブジェクトは、name
やage
などのプロパティと、greet
などのメソッドを持っています。これらのプロパティやメソッドは、Person
オブジェクトのプロトタイプに属しています。
新しいオブジェクトを作成する際には、このPerson
オブジェクトを元にして、継承したプロパティやメソッドを持つことができます。
// 新しいオブジェクトの作成
var person1 = Object.create(Person);
person1.name = "Alice";
person1.age = 25;
console.log(person1.greet()); // "Hello, my name is Alice and I'm 25 years old."
このように、JavaScriptのプロトタイプは、オブジェクト指向プログラミングにおける継承のメカニズムを提供します。