【javascript】ES6で導入されたclassにクラスメソッドを実装
ES6で導入されたclass記法は元々あった擬似クラス構文のシンタックスシュガー。
そのため、ES5時代の手法が そのまま転用できる。
class Person{ constructor(){ this.name = '山田太郎' } say(){ console.log(this.name); } }
今回定義したPersonクラスにクラスメソッドを追加する。
Person.method = function(){ console.log("クラスメソッド"); }
これだけ。
実際に試してみる。
let tarou = new Person(); //インスタンスからクラスメソッドにアクセスできない tarou.method() //Uncaught TypeError //インスタンスはインスタンスメソッドにアクセスできる tarou.say() //山田太郎 //クラスはインスタンスメソッドにアクセスできない Person.say() //Uncaught TypeError //クラスはクラスメソッドにアクセスできる Person.method() //クラスメソッド
ES5での擬似クラス定義を理解していれば然程難しくはない。