joken-前端工程师

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: :: :: 管理 ::

TypeScript 中的函数重载允许你定义多个函数签名,以便更好地描述函数的行为。函数重载的主要目的是提供更好的类型检查和代码可读性。以下是 TypeScript 函数重载的基本用法:

  1. 定义多个函数签名
    在实现函数之前,先定义多个函数签名,每个签名描述了一种可能的调用方式。

  2. 实现一个函数体
    实现一个函数体,该函数体需要能够处理所有定义的签名。

下面是一个简单的例子,展示了如何在 TypeScript 中使用函数重载:

// 定义函数签名
function add(a: number, b: number): number;
function add(a: string, b: string): string;

// 实现函数体
function add(a: any, b: any): any {
    if (typeof a === 'number' && typeof b === 'number') {
        return a + b;
    } else if (typeof a === 'string' && typeof b === 'string') {
        return a + b;
    }
    throw new Error('Invalid arguments');
}

// 使用函数
console.log(add(1, 2)); // 输出: 3
console.log(add('Hello', 'World')); // 输出: HelloWorld

关键点总结:

  • 函数签名:定义函数的不同调用方式。
  • 函数实现:实现一个函数体,能够处理所有签名的情况。
  • 类型检查:TypeScript 编译器会根据函数签名进行类型检查。

通过这种方式,你可以更清晰地定义和使用函数,提高代码的可读性和可维护性。
函数重载ts部分只能限制外部使用的函数类型,js部分本身还是得内部判断参数类型进行不同的赋值方式。

posted on 2024-12-28 09:47  joken1310  阅读(32)  评论(0编辑  收藏  举报