对象作为 Typescript 中的映射键

Object as Map Key in Typescript

我想在 Typescript 中创建一个 Map 对象,其中一个对象作为键,一个数字作为值。我定义的地图对象如下:

myMap: Map<MyObj,number>;
myObj: MyObj;

当我尝试将一对添加到此地图对象时:

this.myMap[myObj]=1;

告诉我TS2538 Type 'MyObj' 不能用作索引类型。这在 Typescript 中可能吗?

您必须使用 set 函数,例如

this.myMap.set(myObj, 1);