はじめに
最近、TypeScriptを使っていて覚えたことの共有です。
インターフェースで関数のオーバーロードを記述する
コールシグネチャを含んだインターフェースを定義すると、関数に対するインターフェースを作成できる。
これを応用すれば、関数のオーバーロード情報を持つインターフェースを定義できる。
// 関数のオーバーロード情報
interface ICallSignature {
(a: string): any;
(a: number): any;
}
// オーバーロードのある関数の実装
function f(a: string): any
function f(a: number): any
function f(a: string | number): any {
};
// 関数へのインターフェースの適用
const hoge: ICallSignature = f;
おわりに
また何かあったら投稿します。