interface IResourceService {
(url: string, paramDefaults?: any,
actions?: any, options?: IResourceOptions): IResourceClass<IResource<any>>;
}
構文(variable: type): Type;
は何を意味するのでしょうか?このインターフェイスを実装するにはどうしたらいいですか?
interface IResourceService {
(url: string, paramDefaults?: any,
actions?: any, options?: IResourceOptions): IResourceClass<IResource<any>>;
}
構文(variable: type): Type;
は何を意味するのでしょうか?このインターフェイスを実装するにはどうしたらいいですか?
関数を宣言します。
これは、paramsと戻り値の型を指定して直接呼び出すことができるインターフェイスです。 TSインターフェイスは具体的ではないことを覚えておいてください。インスタンス化できません。直接参照することはできません(たとえば、foo instanceof interfaceFoo
は無効です)。出力コードには表示されません。
TSインターフェイスは、オブジェクトの予想される形状を定義する単純なコントラクトです。その形状は非常に簡単に "foo
パラメータで呼び出し可能で、bar
を返す"ことができます。
これはbriefly covered in the docsです:
インタフェースを持つ関数の型を記述するために、我々は、インタフェースにコールサインを与えます。これは、パラメータリストと戻り値の型だけを指定した関数宣言に似ています。パラメータリストの各パラメータには、名前とタイプの両方が必要です。
はちょうどあなたがまた同じことを行うためにa type aliasを使用できることを追加したい:(私の意見では)
type IResourceService =
(url: string, paramDefaults?: any,
actions?: any, options?: IResourceOptions) => IResourceClass<IResource<any>>;
そして、それは、より読みやすいです。
https://www.typescriptlang.org/docs/handbook/interfaces.html#function-types – Paleo