[英]When is it necessary to declare return function type in TypeScript?
如果我具有以下基本功能, typescript
可以自动推断返回类型。
function myFunction(x: number, y: number) {
return x * y;
}
它是唯一有用的声明返回类型,如果typescript
,因为一些其他的呼叫泄漏无法推断返回类型any
,所以它不能作出正确的推论?
function myFunction(x: number, y: number) {
return x * y || callThatReturnsAny();
}
在这种情况下,如果我知道callThatReturnsAny()
返回一个number
我想输入它
function myFunction(x: number, y: number): number {
return x * y || callThatReturnsAny();
}
尽管最好的解决方案只是键入callThatReturnsAny()
以便typescript
可以进行推断? 但是在那种情况下,您何时应该真正使用显式返回类型呢?
我打开noImplicitAny
并避免在几乎所有情况下(函数除外)添加类型注释。 为什么? 因为我不想在以下情况下意外返回联合类型:
例如,如果我开始的时候,我的日子会有所不同:
function example(a: number, b: number) {
VS
function example(a: number, b: number): number {
接下来会发生什么...
function example(a: number, b: number) {
if (a > 5) {
return 5;
}
if (b > a) {
return 'b';
}
}
我的退货类型现在是number | string | undefined
number | string | undefined
number | string | undefined
。
如果使用返回类型注释,则会获得其他帮助*。
它可以帮助您返回正确的类型:
在严格模式下,它确保您每次都返回一些内容。
*如果您需要其他帮助,则还将打开所有严格的要求 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.