我正在尝试在TypeScript中进行Minecraft MakeCode扩展,并且需要字典来将字符串映射到相应的字符串:
const chars:{[index:string]:string} = {
"A": "MSOJOQJ",
"B": "JWIQWIQ"
// ...
};
但是,当我尝试查找字典的值时:
let look = chars["A"];
TypeScript抛出一个错误,它是unsupported indexer
。
设置字典的键值对也不起作用:
chars["C"] = "HIHWQHQ"; // unsupported indexer
我的代码中是否存在任何错误,或者TypeScript是否错误/过于严格?
答案 0 :(得分:0)
进一步研究MakeCode环境后,似乎它不支持映射类型的字典索引器,但确实支持点访问:
const dicto: { [key: string]: string } = {
hello: "world",
goodbye: "friends",
};
dicto["hello"] = "wow!"; // error
const b = dicto["goodbye"]; // error
dicto.hello = "wow!"; // ok
const c = dicto.goodbye; // ok, c inferred to be of type string