0
私は抽象クラス活字体 - 型推論keyofキーワードと
export abstract class ABaseModel {
public static isKeyOf<T>(propName: (keyof T)): string {
return propName;
}
}
と文字列は、そのクラスの有効なプロパティであるかどうかを確認するには、それ
export class Model extends ABaseModel {
public id: number;
public uid: string;
public createdByUid: string;
}
を拡張する別のクラスを持って、私が持っています
Model.isKeyOf<Model>('id');
をwirteしかし、私は
を書きたいしますModel.isKeyOf('id');
タイプ推論では可能ではありませんか?
がエラーを取得する:タイプの「この」文脈「typeof演算モデル」)メソッドの型「新しい(の「この」に割り当て可能ではありません=>モデル '。 –
'Model'クラスの署名は何ですか?それは同じでなければなりません。例えば 'class Model {constructor(a:string、b:number){...}}'なら ':(this:{new(a:string、b:number ):Tは} ' –
コンストラクタは 'コンストラクタ(小道具である:任意[]){ スーパー(); Object.assign(この、小道具); } ' だからisKeyOf 'パブリック静的で動作します(これは{new({}):T}、propName:(keyof T)):文字列{ return propName; } ' 大変ありがとう! –