JavaScriptでのクラスについて
概要
JSでクラスを作成する際の方法を記述する。
作成
class クラス名{
}インスタンス生成
const sampleIns = new SamppleClass();コンストラクタ
class SampleClass{
constructor(){
}
}プロパティ
JSでは、プロパティを宣言せずとも、コンストラクタでthisキーワードを使用するとオブジェクトが生成される。
class SampleClass{
constructor(nameArg){
this.name = nameArg;
}
}メソッド
JSのクラスでは、メソッドの際に、functionキーワードは使用しない。
class SampleClass{
constructor(nameArg){
this.name = nameArg;
}
printName(){
console.log(this.ame);
}
}継承
継承にはextendsキーワードを使用する。
スーパークラスのコンストラクタを呼び出す際にはsuperキーワードを使用する。
class SampleClass{
}
class sampleClass2 extends SampleClass{
constructor(){
super();
}
}メソッドのオーバーライド
JSではoverrideキーワードは必要ない。
class SampleClass{
printHello(){
console.log("heelo");
}
}
class sampleClass2 extends SampleClass{
printHelloWorld(){//ここでオーバーライド
console.log("hello world");
}
}ただし、オーバーライドしたメソッドにinstance変数は使用することができない。
これはsuper()でスーパークラスとサブクラスのメソッドを初期化する前にthisを使用することができないためである。