[英]Return type based on parameter type
我的功能是這樣的:
const safeIdCastToNumber = (id: string | null | undefined) => isNil(id) ? id : Number(id)
每當我調用 safeIdCastToNumber 時,我都可以使用類型聯合string | null | undefined
string | null | undefined
string | null | undefined
但也有一些帶有類型聯合string | undefined
string | undefined
,因為我涉及一些不可為空的 id。
這個函數的返回類型是number | null | undefined
number | null | undefined
number | null | undefined
。
如果我使用的 id 參數的類型不包含null
,我希望返回類型不包含null
。
例如:如果我使用string | undefined
string | undefined
返回類型為number | undefined
number | undefined
,但如果我使用string | null | undefined
string | null | undefined
string | null | undefined
返回類型為number | null | undefined
number | null | undefined
這可能嗎?
將在此處發布帶有重載功能的解決方案。
function safeIdCastToNumber(id: string | undefined): number | undefined
function safeIdCastToNumber(id: string | null | undefined): number | null | undefined
function safeIdCastToNumber(id: string | null | undefined) => isNil(id) ? id : Number(id)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.