如果我具有以下基本功能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) {
与
function example(a: number, b: number): number {
接下来会发生什么...
function example(a: number, b: number) {
if (a > 5) {
return 5;
}
if (b > a) {
return 'b';
}
}
我的返回类型为now number | string | undefined
。
如果使用返回类型注释,则会获得其他帮助*。
它可以帮助您返回正确的类型:
在严格模式下,它可以确保您每次都返回一些内容。
*如果您需要其他帮助,则还将打开所有严格的要求。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句