中級 › abstractクラスを直接newした原因と直し方 › パターン2
abstractクラスを直接newした原因と直し方
abstractを付けたクラスは、そのままnewでインスタンス化することができません。
1 abstract class Animal { 2 abstract speak(): string; 3 } 4 class Dog extends Animal { 5 speak(): string { return "woof"; } 6 } 7 const a = new ______(); ^ 8 console.log(a);
main.ts(7,11): error TS2511: Cannot create an instance of an abstract class.
空欄を埋めてコンパイルを通す
Animalはabstractクラスです。speakを実装したDogのようなサブクラス経由でしかインスタンス化できません。
次の問題