【发布时间】:2021-08-31 08:19:10
【问题描述】:
我定义了以下对象:
const routes = {
"/": {},
"/abc": {},
};
现在我想使用带有变量名的索引访问路由中的对象之一:
const indextoFind = "/abc";
const item = routes[indextoFind];
打字稿抛出:
元素隐含地具有“任何”类型,因为类型的表达式 'string' 不能用于索引类型 '{ "/": {}; "/abc": {}; }'。不 在“{”类型上找到带有“字符串”类型参数的索引签名 “/”:{}; "/abc": {}; }'。
索引显然是一个字符串,所以我不知道为什么它不允许我使用字符串变量访问对象。
另外,这工作得很好:
const item = routes["/abc"];
【问题讨论】:
-
请提供可重现的示例。如果您在 TS 操场上尝试您的代码,它将按预期工作
标签: typescript