【发布时间】:2017-08-03 22:31:05
【问题描述】:
首先,如果我的措辞不正确,请原谅我,我对所有的打字术语都不是很熟悉。
我有两种类型:A 和B,其中B 是A 的扩展,如下所示:
type A = { a: string };
type B = { a: string, b: string };
断言B 类型的值符合A 类型可以正常工作:
const bar: B = { a: 'hello', b: 'world' };
(bar: A); // No problemo
但是当将值包装到数组中时,断言变坏了:
const bars: Array<B> = [bar]; // This is fine
(bars: Array<B>); // Also fine
(bars: Array<A>); // Breaks!!
我完全误解了什么吗?这是泛型问题、数组问题还是 Flow 中的错误?
流版本:v0.52.0
请在Flow亲自查看
【问题讨论】:
-
您对此有何看法?类型 A = { a: string, b?: string }; type B = { a: string, b?: string };
-
@MarkoSavic 我不想改变类型 A 来解决这个问题。
标签: javascript flowtype