typescript 函数重载
时间: 2023-09-14 07:11:02 浏览: 101
TypeScript 函数重载是指在一个函数体内定义多个函数签名,以支持不同的参数类型或参数个数。这样可以根据传入的参数类型或个数,自动选择相应的函数实现进行调用。
以下是一个 TypeScript 函数重载的示例:
```typescript
function add(x: number, y: number): number;
function add(x: string, y: string): string;
function add(x: any, y: any): any {
if (typeof x === 'number' && typeof y === 'number') {
return x + y;
} else if (typeof x === 'string' && typeof y === 'string') {
return x + ' ' + y;
} else {
throw new Error('Unsupported parameter types.');
}
}
console.log(add(1, 2)); // 输出: 3
console.log(add('Hello', 'World')); // 输出: Hello World
```
在上述示例中,`add` 函数定义了两个函数签名,分别接受两个参数的数字类型和字符串类型。然后在函数体内根据参数类型进行实际的计算或拼接,并返回结果。如果传入的参数类型不符合定义的签名,将抛出一个错误。
通过函数重载,我们可以根据不同的参数类型或个数,使用相同的函数名称来进行函数调用,从而提高代码的可读性和灵活性。
阅读全文