オーバーロードされた関数シグネチャの型エイリアスを作成することはできますか?私は繰り返しを保存するために、その過負荷に署名するタイプのエイリアスを作成したい、と私はのタイプを記述する必要がある他の場所での使用になるだろうTypeScript:オーバーロードされた関数シグネチャの型エイリアスを提供できますか?
function whenChanged(scope: ng.IScope, fn:()=>void):()=>void;
function whenChanged(fn:()=>void, truthy:any):()=>void;
function whenChanged(a,b):()=>void {
//...
}
:
例えば、私のような機能を持っていますこの関数。
私が試した:
type WC1 = (scope: ng.IScope, fn:()=>void) =>()=>void;
type WC2 = (fn:()=>void, truthy:any) =>()=>void;
type WhenChanged = WC1 | WC2;
const whenChanged: WhenChanged = (a,b) => {
//...
};
しかし、この機能を使用しようと、私は「そのタイプのコールサインを欠い表現を呼び出すことはできません」の線に沿ってエラーが発生します。
タイプエイリアシング機能のオーバーロードについては、ドキュメントには何も表示されません。
これは素晴らしい答えです。まさに私が何をしたのか!ありがとうございました! – jsdw