面试题答案
一键面试function addNumbers(num1: number, num2: number): number {
return num1 + num2;
}
类型推断
在TypeScript中,当函数返回一个表达式时,TypeScript会根据表达式的类型推断出函数的返回值类型。在addNumbers
函数中,num1
和num2
都是number
类型,num1 + num2
的结果也是number
类型,所以TypeScript能够自动推断出该函数的返回值类型为number
。
显式指定返回值类型的情况
- 函数逻辑复杂时:当函数内部的逻辑非常复杂,返回值类型的推断不明显时,显式指定返回值类型可以提高代码的可读性和可维护性。例如,函数内部有多个条件分支,每个分支返回不同类型的值经过复杂处理后最终返回,这种情况下显式指定返回值类型能让其他开发者快速理解函数的返回情况。
- 与外部库交互时:当函数需要与外部JavaScript库交互,而TypeScript无法准确推断返回值类型时,需要显式指定。比如调用一个通过
declare function
声明的外部函数,该函数返回值类型不确定,为了保证类型安全,需要显式指定返回值类型。 - 提高代码清晰度:即使TypeScript能够正确推断返回值类型,但为了让代码的意图更加清晰,也可以显式指定返回值类型。例如在团队开发中,新成员阅读代码时,显式的返回值类型声明能更快让他们了解函数的功能和返回数据的类型。