我使用flow在代码中注释类型。
type Bar = 'One' | 'Two';
function foo(b: Bar) : boolean {
return b === 'Three';
}
有没有办法让flow
报告警告或错误,以便与非匹配类型进行比较(在我的情况下为string
)?
编辑所以似乎无法使用枚举进行。但是,由于这实际上是我遇到的一个错误,我想表达这一点,以便流程可以帮我标记这种情况。
有什么想法吗?
答案 0 :(得分:3)
您可以使用(value: Type)
格式。在你的情况下:
type Bar = 'One' | 'Two'; function foo(b: Bar) : boolean { return b === ("Three": Bar); }
将显示错误。
答案 1 :(得分:0)
这是我能想到的另一种方式:
type Bar = 'One' | 'Two';
function eq(a: Bar, b: Bar): boolean {
return a === b;
}
function foo(b: Bar) : boolean {
// compare b to 'Three'
return eq(b, 'Three');
}
将导致
return eq(b, 'Three');
^ string. This type is incompatible with the expected param type of
function eq(a: Bar, b: Bar): boolean {
^ string enum