TypeScript错误:没有类型为'string'的参数的索引签名——如何修复?
你好!我是TypeScript新手,遇到了一个无法解决的问题。我有一个简单的对象,键是字符串,但当我尝试通过变量访问它时,TypeScript报错:
```
No index signature with a parameter of type 'string' was found on type '{ "A": string; }'
```
这是我的代码:
```typescript
const myObj = { "A": "Hello" };
const key = "A";
console.log(myObj[key]); // 错误!
```
我明白key的类型是`string`,而TypeScript期望的是具体的字面量`"A"`。但如果键来自外部源(例如API或用户输入)呢?我无法预先知道所有可能的键。
我尝试过使用`key as keyof typeof myObj`,但这看起来像是一个临时解决方案。有没有更正确的方法来解决这个问题?如何正确地类型化对象,以便可以通过字符串键访问它们,同时保持类型安全?
提前感谢你的帮助!
<<>>