Typescript-强制集合仅包含2种类型
我有一个Typescript-强制集合仅包含2种类型,typescript,Typescript,我有一个产品界面,该界面具有属性项,该集合应只接受两种类型的项:服务类型一和服务类型二 这就是我想到的,但我不确定这是否是正确的方法 export interface Product{ ... items: ProductItem<AcceptedServices>[]; ... } export interface ProductItem<T extends AcceptedServices>{ item:T; quantity:numb
产品
界面,该界面具有属性项
,该集合应只接受两种类型的项:服务类型一
和服务类型二
这就是我想到的,但我不确定这是否是正确的方法
export interface Product{
...
items: ProductItem<AcceptedServices>[];
...
}
export interface ProductItem<T extends AcceptedServices>{
item:T;
quantity:number;
}
export type AcceptedServices = ServiceTypeOne | ServiceTypeTwo;
导出接口产品{
...
项目:产品项目[];
...
}
导出接口ProductItem{
项目:T;
数量:数量;
}
导出类型AcceptedServices=ServiceTypeOne | ServiceTypeTwo;
问题:
Product.items
时,我将要检查项目的特定类型(如果其基础类型是ServiceTypeOne
或serviceTypeotwo
,并基于类型为该类型运行一些特定方法)。如何做到这一点似乎在
ProductItem
中使用泛型没有意义。您可以将其定义为:
export interface ProductItem {
item: AcceptedServices;
quantity: number;
}
我想检查项目的特定类型
您可以定义自定义:
似乎在
ProductItem
中使用泛型没有意义。您可以将其定义为:
export interface ProductItem {
item: AcceptedServices;
quantity: number;
}
我想检查项目的特定类型
您可以定义自定义:
使用泛型的唯一原因是在接口级别指示可接受的类型。我在文档中看到过这一点,并且喜欢这个想法这与类型的后卫是伟大的。谢谢使用泛型的唯一原因是在接口级别指示可接受的类型。我在文档中看到过这一点,并且喜欢这个想法这与类型的后卫是伟大的。谢谢