地图中的通用类型

时间:2018-02-01 15:21:31

标签: typescript

我正在尝试创建一个JavaScript Map,我正在努力使用正确的Type定义。我的值是包含两个属性targetpropertyName的对象,我不想通过使用任何一个来放弃类型安全性。这就是我所猜测的(这不是有效的语法):

type MetaDataType = { target: Function, propertyName: string };
private _getMetaDataCache: Map<Function, <T extends MetaDataType>[]> = new Map();

那么如何在Typescript中正确创建具有泛型类型的Map?

1 个答案:

答案 0 :(得分:0)

您可以像这样使用

  type MetaDataType = { target: Function, propertyName: string };
  type generic = <T extends MetaDataType[]> (args: T) => T;
  private _getMetaDataCache: Map<Function, generic[]> = new Map<Function, generic[]>();

请参阅有关Generic Types

的部分