面试题答案
一键面试在TypeScript函数重载中,调用函数时参数类型与各个重载签名的匹配规则如下:
- 按顺序匹配:TypeScript会按照重载签名定义的顺序,从上到下依次尝试匹配调用函数时传入的参数。
- 严格匹配:参数的数量、类型和可选性必须与某个重载签名完全匹配。
例如:
// 函数重载定义
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会选择与之匹配的重载签名。