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を使用することができないためである。