这是我个人认为在各种语言中都是正确的,但在这里不是。我一定是对 Typescript 的一个方面一无所知,但我不能那么容易地确定差距在哪里。
实施需要地图的地图。顶部映射是一个字符串键,以及字符串键和字符串值的映射。
class aClass
{
myMap: Map<string, Map<string, string>>;
constructor ()
{
this.myMap = new Map<string, Map<string, string>>([
["key1", new Map<string,string>()],
["key2", new Map<string,string>()]
]);
}
async aTask(map: Map<string,string>)
{
map.set("subKey1", "VALUE");
}
async someWork()
{
this.aTask(this.myMap["key1"]);
this.aTask(this.myMap.get("key1"));
}
}
如何在函数 someWork() 中正确访问 Map<string, string>() ?
第一个访问者的错误:this.aTask(this.myMap["key1"]);
元素隐式具有“任何”类型,因为类型“Map<string, Map<string, string>>”没有索引签名。你的意思是叫'get'吗?
第二个访问器的错误:this.aTask(this.myMap.get("key1"));
'Map<string, string> | 类型的参数 undefined' 不可分配给 'Map<string, string>' 类型的参数。类型“undefined”不可分配给类型“Map<string, string>”。
守候你守候我
相关分类