MST
星途 面试题库

面试题:TypeScript中const泛型参数在函数重载中的应用

请实现一个函数`combine`,它接受两个参数,并且根据参数类型返回不同的结果。要求使用`const`泛型参数来实现函数重载,第一个参数可以是字符串或数字,第二个参数类型与第一个参数保持一致。如果两个参数都是字符串,返回拼接后的字符串;如果都是数字,返回它们的和。
35.1万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
function combine<T extends string | number>(a: T, b: T): T extends string ? string : number {
    if (typeof a === 'string' && typeof b === 'string') {
        return (a + b) as T extends string ? string : number;
    } else if (typeof a === 'number' && typeof b === 'number') {
        return (a + b) as T extends string ? string : number;
    }
    throw new Error('参数类型不匹配');
}