Flow 定义了所谓的“可能类型”。即?string类似于string | null | void(void是一种值undefined)。
是否有类似一般类型的东西可以具有任何价值,但null和undefined?基本上类似于$Diff<$Diff<any, null>, void>if$Diff运算符能够对非对象类型进行操作。
Flow 定义了所谓的“可能类型”。即?string类似于string | null | void(void是一种值undefined)。
是否有类似一般类型的东西可以具有任何价值,但null和undefined?基本上类似于$Diff<$Diff<any, null>, void>if$Diff运算符能够对非对象类型进行操作。
对此没有一些“神奇”的类型,但这样的东西应该可以工作:string | number | boolean | {} | []
可以使用NonMaybeTypeFlow 实用程序类型:请参阅$NonMaybeType
$NonMaybeType<T>将类型转换T为非可能类型。换句话说, 的值$NonMaybeType<T>是T除 null 和 undefined 之外的值。
// @flow
type MaybeName = ?string;
type Name = $NonMaybeType<MaybeName>;
('Gabriel': MaybeName); // Ok
(null: MaybeName); // Ok
('Gabriel': Name); // Ok
(null: Name); // Error! null can't be annotated as Name because Name is not a maybe type