【发布时间】:2019-04-02 15:37:44
【问题描述】:
我需要声明一个类型,以便从其属性类型中删除 undefined。
假设我们有:
type Type1{
prop?: number;
}
type Type2{
prop: number | undefined;
}
type Type3{
prop: number;
}
我需要定义一个名为NoUndefinedField<T> 的泛型类型,以便NoUndefinedField<Type1> 提供与Type3 相同的类型以及与NoUndefinedField<Type2> 相同的类型。
我试过了
type NoUndefinedField<T> = { [P in keyof T]: Exclude<T[P], null | undefined> };
但它只适用于Type2。
【问题讨论】:
-
Type1 你需要to remove optional modifier
-
很棒的@artem,这正是我想要的。
标签: typescript types null undefined