javascript - Flow - 子类型数组

标签 javascript flowtype

有两个对象,其中 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 的官方部分 https://flow.org/en/docs/types/utilities/#toc-subtype

关于javascript - Flow - 子类型数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47237322/

相关文章:

javascript - 根据输入值调用特定的 div

reactjs - Flow : destructuring. React/Preact 中缺少注释

javascript - Ramda 在 javascript 中的数组

javascript - 获取单击元素相对于整个文档的索引

javascript - 一直显示错误信息。如何处理这个错误?

javascript - 如何使用 Flow 类型编写运行时类型检查表达式?

javascript - 如何使用 Flow 类型提示和 Jest 处理错误

javascript - 在静态 HTML 页面上包含动态内容

typescript - 流类型可以在方法链中加强实例的方法定义吗

flowtype - 流数组类型在该类型的子集上失败