MST
星途 面试题库

面试题:TypeScript 函数重载与联合类型注解综合问题

编写一个 TypeScript 函数 `add`,它需要支持两种情况:第一种是接收两个数字参数并返回它们的和;第二种是接收两个字符串参数,将它们解析为数字后再返回和。如果参数无法解析为数字则返回 `null`。请使用函数重载和合适的类型注解来实现这个函数。
31.3万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
function add(a: number, b: number): number;
function add(a: string, b: string): number | null;
function add(a: number | string, b: number | string): number | null {
    if (typeof a === 'number' && typeof b === 'number') {
        return a + b;
    } else if (typeof a ==='string' && typeof b ==='string') {
        const numA = parseFloat(a);
        const numB = parseFloat(b);
        if (!isNaN(numA) &&!isNaN(numB)) {
            return numA + numB;
        }
        return null;
    }
    return null;
}