MST

星途 面试题库

面试题:TypeScript声明和调用函数重载

请使用TypeScript声明一个函数`add`,要求支持两种重载形式:一种接受两个数字参数并返回它们的和;另一种接受两个字符串参数,将它们拼接后返回。并给出调用这两种重载形式的示例代码。
22.8万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
// 函数重载声明
function add(a: number, b: number): number;
function add(a: string, b: string): string;

// 函数实现
function add(a: number | string, b: number | string): number | string {
    if (typeof a === 'number' && typeof b === 'number') {
        return a + b;
    } else if (typeof a ==='string' && typeof b ==='string') {
        return a + b;
    }
    throw new Error('参数类型不匹配');
}

// 调用示例
const sumResult: number = add(1, 2);
const concatResult: string = add('Hello, ', 'world');

console.log(sumResult); // 输出: 3
console.log(concatResult); // 输出: Hello, world