我的函数是这样的
const safeIdCastToNumber = (id: string | null | undefined) => isNil(id) ? id : Number(id)
每当我调用safeidcasttonnumber时,我可以使用类型联合string | null | undefined
声明的id参数来调用它,但也可以使用类型联合string | undefined
声明,因为我有一些不可空的id。
该函数的返回类型为number | null | undefined
。
如果我使用的id参数的类型不包括null
,我希望返回类型不包括null
。
E。g:如果我使用一个id参数类型string | undefined
number | undefined
的返回类型,但如果我使用一个id类型的参数string | 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)