1
これは、インスタンスが指定されたクラスのインスタンスかどうかを知ることができるように、isInstanceOfClass
関数を実装しました。TypeScriptのチェックインスタンスクラスは、ユーザー定義の型ガードを介して
class Parent {
isInstanceOfClass<T>(arg: T): this is T {
// already implemented
}
}
class FooClass extends Parent {
foo: number;
}
class BarClass extends Parent {
bar: number;
}
例:
let foo: Parent;
if(foo.isInstanceOfClass(FooClass)) {
foo.foo = 1; // TS2339: Property 'foo' does not exist on type 'Parent & typeof FooClass'.
}
誰かが私はエラーを取り除く手助けすることはできますか?
さまざまな理由から、isInstanceOfClass
メソッドのシグネチャを変更することはできますが、サンプルコードでは変更できません。
私はいつも '{new():T}'のことを忘れてしまった! – pravdomil