[英]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.