JavaScript 目次 - ray88’s diary
■プロトタイプメソッドの変更
静的メンバーの追加の方法を応用し、class文によるクラス定義の後に
プロトタイプメソッドの変更をすることが可能。
以下の様に配下にprototypeプロパティ配下のメソッドを変更する。
【構文】
クラス名.property.メソッド名 = funcion(仮引数1,)仮引数2,・・・){ //処理 }
【サンプルコード】
function myFunction(){ //クラス「Person」を定義 class Person{ constructor(name,age){ //thisキーワードを用いてnameプロパティ、ageプロパティを定義 this.name = name; this.age = age; } //クラスPersonにメソッドgreetを追加 greet(name){ console.log(`Hello! I am ${this.name}!`); } } //関数リテラルを代入し、Personクラスのプロトタイプメソッド //greetを上書き Person.prototype.greet = function(){ console.log(`Good Bye! I'm ${this.name}!`); }; //Personクラスをインスタンス化 const p = new Person('Bob',25) p.greet(); console.log(Person.prototype.greet.toString()); console.log(p.greet.toString()); }