TypeScript 函數重載(Function Overloading)

TypeScript 是一種強型別的 JavaScript 語言,它支援函數重載(Function Overloading),可以讓開發者在定義函數時,指定不同的參數型別,以及不同的回傳型別。

什麼是函數重載?

函數重載(Function Overloading)是一種程式設計技術,它允許開發者在定義函數時,指定不同的參數型別,以及不同的回傳型別。

舉個例子,假設我們有一個函數 add(),它可以接受兩個參數,並且回傳兩個參數的和:

function add(a: number, b: number): number {
  return a + b;
}

這個函數只能接受兩個數字參數,並且回傳一個數字。

如果我們想要讓 add() 函數可以接受兩個字串參數,並且回傳一個字串,我們可以使用函數重載(Function Overloading)來定義一個新的 add() 函數:

function add(a: string, b: string): string {
  return a + b;
}

這樣,我們就可以同時使用兩個不同的 add() 函數,一個接受兩個數字參數,另一個接受兩個字串參數。

如何使用 TypeScript 來實現函數重載?

TypeScript 支援函數重載(Function Overloading),可以讓開發者在定義函數時,指定不同的參數型別,以及不同的回傳型別。

舉個例子,假設我們有一個函數 add(),它可以接受兩個參數,並且回傳兩個參數的和:

function add(a: number, b: number): number {
  return a + b;
}

這個函數只能接受兩個數字參數,並且回傳一個數字。

如果我們想要讓 add() 函數可以接受兩個字串參數,並且回傳一個字串,我們可以使用 TypeScript 的函數重載(Function Overloading)來定義一個新的 add() 函數:

function add(a: string, b: string): string;
function add(a: number, b: number): number;

function add(a: any, b: any): any {
  return a + b;
}

這樣,我們就可以同時使用兩個不同的 add() 函數,一個接受兩個數字參數,另一個接受兩個字串參數。

總結

TypeScript 支援函數重載(Function Overloading),可以讓開發者在定義函數時,指定不同的參數型別,以及不同的回傳型別。這樣可以讓開發者更加有效率的開發函數,並且減少函數命名混亂的問題。

Categorized in:

Tagged in: