MST

星途 面试题库

面试题:TypeScript中变量声明与类型注解的常见陷阱

在TypeScript中,声明一个函数接收两个数字参数并返回它们的和,要求正确使用类型注解。同时说明在这种场景下,类型推断可能会出现什么问题,如何避免?
42.7万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试

函数声明

function addNumbers(num1: number, num2: number): number {
    return num1 + num2;
}

类型推断可能出现的问题

  1. 参数类型不明确:如果函数调用时传递的参数类型与期望不符,类型推断可能无法准确捕捉错误。例如,传递了字符串类型的参数,而函数期望数字类型,类型推断可能不会及时报错。
  2. 返回值类型推断不准确:在复杂的函数逻辑中,类型推断可能无法准确确定返回值类型。比如函数内部有条件分支,不同分支返回不同类型的值,类型推断可能会给出一个联合类型,而这可能不是我们想要的准确类型。

避免方法

  1. 显式类型注解:对函数的参数和返回值都进行显式的类型注解,就像上述addNumbers函数一样,明确指定参数类型为number,返回值类型也为number。这样可以避免类型推断的不确定性,确保函数的输入和输出类型的准确性。
  2. 使用类型断言:在需要明确类型的地方使用类型断言。例如,如果从某个地方获取的值类型不确定,但你知道它实际是number类型,可以使用as number进行类型断言,强制将其转换为期望的类型。不过要谨慎使用,因为错误的类型断言可能导致运行时错误。