MST

星途 面试题库

面试题:TypeScript 函数重载中参数类型匹配规则

请解释在TypeScript函数重载里,当调用函数时,参数类型是如何与各个重载签名进行匹配的,并举例说明。
21.4万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试

在TypeScript函数重载中,调用函数时参数类型与各个重载签名的匹配规则如下:

  1. 按顺序匹配:TypeScript会按照重载签名定义的顺序,从上到下依次尝试匹配调用函数时传入的参数。
  2. 严格匹配:参数的数量、类型和可选性必须与某个重载签名完全匹配。

例如:

// 函数重载定义
function add(a: number, b: number): number;
function add(a: string, b: string): string;
function add(a: any, b: any): any {
    return a + b;
}

// 调用函数
let result1 = add(1, 2); // 匹配第一个重载签名,返回数字 3
let result2 = add('a', 'b'); // 匹配第二个重载签名,返回字符串 'ab'

在上述例子中,add函数有两个重载签名,分别接受两个number类型参数返回number,以及接受两个string类型参数返回string。在调用add函数时,根据传入参数的类型,TypeScript会选择与之匹配的重载签名。