是否可以爲重載的函數簽名創建一個類型別名?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