基于参数类型的返回类型



我的函数是这样的

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 | undefinednumber | 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)

最新更新