如何解决TypeScript类型排除null包括未定义 NonNullable 用法:
根据
https://www.typescriptlang.org/docs/handbook/utility-types.html#nonnullabletype
例NonNullable
通过从Type中排除null和undefined来构造类型。
trim()
我读过它的定义是:
type T0 = NonNullable<string | number | undefined>;
// ^ = type T0 = string | number
type T1 = NonNullable<string[] | null | undefined>;
// ^ = type T1 = string[]
现在,我想排除type NonNullable<T> = T extends null ? never : T
,但要包括我的代码所需的null
。
您将如何做?谢谢。
解决方法
实际上,现有的NonNullable
被定义为type NonNullable<T> = T extends null | undefined ? never : T;
。但是您可以创建自己的实用程序类型,如下所示。
type NonNullButUndefined<T> = T extends null ? never : T;
// Usage
type T = NonNullButUndefined<string | null | undefined>;
用法:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。