前面講了那麼多函式希望大家都有好好吸收,
那麼我們來到了基本函式的最後一個環節了喔。
也就是TypeScript(TS)的函式多載(Overloads),
函式多載的特性是什麼呢?
函是參數個數與型別不同,
函式名稱可以命名為相同名稱,
不過需要實作多個同名的函示。
而在C#或JAVA等許多程式語言中,
函式都具有多載(Overloads)的特性。
另外在TS中,
函式多載只能有一個實作。
那麼讓握們來看看範例吧。
function add(x: number, y: number): number;
function add(x: string, y: string): string;
function add(x: any, y: any): any {
return x + y;
}
定義多載函式add
,
可以傳入兩個數值,
或兩個字串參數。
前兩行程式碼先定義函式簽名,
接著再實作add函式。
呼叫add函式時,
若傳入的引數和函式簽名中的參數與回傳值的型別不相符時,
便會視為錯誤。
那麼依照上面定義的函式,
正確與錯誤呼叫的方式如下,
正確呼叫:
console.log(add(10,20));//30
console.log(add("10","20"));//1020
錯誤呼叫:
console.log(add(10));
console.log(add(10,20,30));
console.log(add(10,"20"));
console.log(add(true,false));
函式多載有個很方便地方,
因為可以重複命名,
所以在某些情況也為工程師省下了命名的時間呢,
那麼最後大家還是繼續加油喔。