web-dev-qa-db-ja.com

TypeScript Generic Method Signature in Interface

いくつかのメソッドを使用してインターフェイスを定義しようとしていますが、メソッドの1つを汎用的にしたいと考えています。

これはfilterUniqueメソッドなので、数値や文字列などのリストをフィルタリングできるはずです。

以下は私のためにコンパイルされません:

export interface IGenericServices {
    filterUnique(array: Array<T>): Array<T>;
}

これをコンパイルする方法はありますか、または私はここのどこかで概念的な間違いをしていますか?

乾杯!

19
dacox

Tタイプはまだ定義されていません。次のように、型変数としてメソッドに追加する必要があります。

filterUnique<T>(array: Array<T>): Array<T>;

または次のようにインターフェイスに追加されます:

export interface IGenericServices<T> {
    filterUnique(array: Array<T>): Array<T>;
}
21
thoughtrepo