MST
星途 面试题库

面试题:TypeScript剩余参数与函数重载的结合应用

编写一个TypeScript函数,利用剩余参数实现不同数量参数输入时的不同逻辑处理,同时结合函数重载来明确函数的不同调用形式及其返回值类型。
38.7万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
// 函数重载声明
function handleArgs(...args: number[]): number;
function handleArgs(...args: string[]): string;
function handleArgs(...args: boolean[]): boolean;

// 函数实现
function handleArgs(...args: (number | string | boolean)[]): number | string | boolean {
    if (args.every(arg => typeof arg === 'number')) {
        return args.reduce((acc, num) => acc + num, 0);
    } else if (args.every(arg => typeof arg ==='string')) {
        return args.join('');
    } else if (args.every(arg => typeof arg === 'boolean')) {
        return args.every(Boolean);
    }
    throw new Error('参数类型不一致,无法处理');
}