【TypeScript】abstract classにstaticプロパティを定義しインスタンスから参照する
上記のようにstaticプロパティにabstract
修飾子を付けることはできずエラーになってしまう。
解決法
- 継承元で
abstract
修飾子を使わず、継承先Classで初期化する- 継承先Classで初期化し忘れてもコンパイルエラーにならないのが若干ネック
- インスタンスからstaticプロパティを参照する場合は
this.constructor.XXX
とする
もしabstract class側でstaticプロパティを参照する場合や型安全性を求める場合は、ジェネリクスで子クラスの型を渡すのが良さそう。
参考