如何将可为null的类型强制转换为不可为null类型(在typescript中)



我想将可为null的类型强制转换为不可为null类型。

例如,如果我有一个类型,比如:

const type A = {b: "xyz"} | null

那么我想提取:

{b:"xyz"}

通过这样做:

A!

但它不起作用(当然,!运算符适用于可为Null的"变量",而不是可为null的"类型"(。

有人能帮我解决这个问题吗?谢谢

如果您有一个类型:

type A = {b: "xyz"} | null

使用NonNullable将从联合类型中删除nullundefined

type NonNullableA = NonNullable<A>

如果您只想删除null但仍保留undefined,则可以使用Exclude:

type NullExcludedA = Exclude<A, null>

在这种情况下,NonNullableANullExcludedA都会产生您想要的类型:

{b:"xyz"}

相关内容

最新更新