MST
星途 面试题库

面试题:TypeScript 中函数参数类型检查问题

请编写一个 TypeScript 函数,该函数接收两个参数,第一个参数为字符串类型,第二个参数为数字类型,函数返回这两个参数拼接后的结果。在函数内部对参数类型进行严格检查,如果类型不匹配,抛出一个有意义的错误。同时,请说明在这种场景下可能出现的类型问题及如何避免。
11.3万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
function concatenateStringAndNumber(str: string, num: number): string {
    if (typeof str!=='string') {
        throw new Error('第一个参数必须是字符串类型');
    }
    if (typeof num!== 'number') {
        throw new Error('第二个参数必须是数字类型');
    }
    return str + num.toString();
}

可能出现的类型问题及避免方法

  1. 参数类型不匹配:可能传入的第一个参数不是字符串,或者第二个参数不是数字。通过在函数内部使用 typeof 检查参数类型,若不匹配则抛出错误来避免这种问题。
  2. 类型推断错误:在复杂的代码结构中,TypeScript 的类型推断可能不准确。可以通过明确指定函数参数和返回值的类型,如上述代码中 str: stringnum: number 以及返回值 : string,来确保类型的正确性。