TypeScript函数重载

17 Mar 2025 | 阅读 2 分钟

函数重载是一种机制或能力,用于创建多个具有相同名称但参数类型和返回类型不同的方法。 但是,它可以具有相同数量的参数。 函数重载也称为方法重载。

当以下情况时,允许函数/方法重载

  • 函数名称相同
  • 每个重载函数的参数数量不同。
  • 参数数量相同,但类型不同。
  • 所有重载函数必须具有相同的返回类型。

假设我们必须对数字执行乘法运算,它具有不同数量的参数。 我们编写了两种方法,例如 mul_a(number, number) 用于两个参数,mul_b(number, number, number) 用于三个参数。 现在,对于我们以及其他程序员来说,理解该方法的行为可能很困难,因为它的名称不同。 在这种情况下,我们需要使用函数重载,这可以提高程序的可读性。

函数重载的优点

  • 它可以节省内存空间,从而使程序执行速度更快。
  • 它提供了代码重用性,从而节省了时间和精力。
  • 它提高了程序的可读性。
  • 代码维护很容易。

示例

在上面的例子中

  • 行是函数重载的声明。 它有两个重载
    • 一个接受字符串参数的函数。
    • 一个接受数字参数的函数。
  • 第三行是函数定义,其中参数的数据类型设置为any
  • 最后两个语句调用重载函数。

编译完上面的TypeScript程序后,我们将得到以下JavaScript代码。

输出

TypeScript Function Overloading

类中的函数重载

以下示例有助于理解在类中使用方法重载。

编译完上面的TypeScript程序后,我们将得到以下JavaScript代码。

输出

TypeScript Function Overloading

不支持具有不同数量的参数和不同类型以及相同函数名称的函数重载。

示例

下一个主题TypeScript函数参数