【发布时间】:2019-07-26 09:28:18
【问题描述】:
我正在使用 Flow,并且有一个泛型类型的用例,但不知道如何使用它们。
我有一个类,它接受一个类型的事件数组。所有事件类型共享一些属性(如startTime),但在其他属性上有所不同。类函数的返回值应与构造函数数组中传递的事件类型相同。
为了更具体,在下面的代码中,我想规定,如果您创建一个带有 PartyEvents 数组的 EventUtility 实例,那么当您请求 EventUtility.earliestEvent() 时,您可以确定您将收到PartyEvent 回复。 (传递给构造函数的数组不能由不同类型的对象混合组成。)
谢谢。
export class EventUtility {
// pick item based on JSON-friendly conditional notation
events: Array<PartyEvent | AppointmentEvent | MealEvent>
constructor(events: Array<PartyEvent | AppointmentEvent | MealEvent>) {
this.events = events;
}
earliestEvent(): PartyEvent | AppointmentEvent | MealEvent {
// determine earliest event in array and return it
return event;
}
}
【问题讨论】:
标签: javascript class flowtype generic-type-argument