有两个对象,其中 B 扩展 A,我可以将 B 的单个实例分配给类型 A 的变量。但是,对于数组,这是不可能的。有什么我可以做的吗?谢谢!
// @flow
type ObjectA = { foo: string };
type ObjectB = ObjectA & {bar: number };
let objectBArray: ObjectB[] = [{ foo: 'test', bar: 42 }];
let objectAArray: ObjectA[] = objectBArray; // Does not work!
最佳答案
自己找到了答案:
let objectAArray: Array<$Subtype<ObjectA>> = objectBArray;
文档中没有描述,但似乎是 API ojita 的官方部分关于javascript - Flow - 子类型数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47237322/