0
フローのクラス型は常にそのクラスのインスタンスを参照し、typeof
を使用して実際のクラス自体を参照するように見えます。私は変数は、基本クラスのサブクラス(インスタンスではなく)を参照したいのであれば、私が行うことができます。
class MyBaseClass {}
class MySubClass extends MyBaseClass {}
let a: $Subtype<MyBaseClass> = MySubClass; // fails
let b: $Subtype<MyBaseClass> = new MySubClass(); // works, but I don't want this.
let c: $Subtype<typeof MyBaseClass> = MySubClass; // works! Ok, we're good
しかし、私は型パラメータでこれを行うように見えることはできません!たとえば、次のよう:私は、次の活字体のトリックを(Generic and typeof T in the parametersを参照)しようとした場合
type GenericSubclass<T> = $Subtype<typeof T>;
// fails with `^ identifier `T`. Could not resolve name`
、それも失敗:私はnew
、__proto__
とconstructor
を試してみました
type ValidSubclass<T> = { new(): T };
const c: ValidSubclass<BaseClass> = MySubClass;
// fails with: property `new`. Property not found in statics of MySubClass
注意を。
何がありますか?回避策はありますか?