给出一些包含可选属性的类型:
type Obj = {
a: string,
b: ?string,
c?: string,
d?: ?string,
e: ?string | void,
}
我想从中派生一个新类型,使其具有相同的属性,但不是可选的。
type Obj = {
a: string,
b: string,
c: string,
d: string,
e: string,
}
我认为$ObjMap
加$NonMaybeType
可以为我做到这一点:
type SafeObj = $ObjMap<Obj, <T>(T) => $NonMaybeType<T>>;
但是,我发现它不适用于上述情况c
和d
,其中在属性的键上放置了?
以使其可选。
还有其他方法可以完成支持可选属性的我所需要的吗?
在键上放置?
与在值侧选择void
之间是否还有其他区别?