给定类型:
type Foo = string | null
有没有一种方法可以创建一个新的类型,排除null
:
function returnSomething(input: Foo): RemoveFromUnion<Foo, null> {
if (input === null) throw new Error('No.');
return input;
}
或者更一般地说:
function returnSomething<T>(input: T): RemoveFromUnion<T, null> {
if (input === null) throw new Error('No.');
return input;
}
3条答案
按热度按时间jhdbpxl91#
这是相当简单的做法
这将从T类型中过滤空值
8fsztsew2#
您正在查找
Exclude
实用程序类型。brccelvz3#
顺便说一句,有内置的util类型:
NonNullable
.文档它具有下一类型签名: