当前位置: 首页 > 知识库问答 >
问题:

打字错误: TS7053元素隐式具有'any'类型

淳于升
2023-03-14

这是我代码的一部分:

const myObj: object = {}
const propname = 'propname'

myObj[propname] = 'string'

但我得到了错误:

ERROR in path/to/file.ts(4,1)
TS7053: Element implicitly has an 'any' type because expression of type '"propname"' can't be used to index type '{}'.
  Property 'propname' does not exist on type '{}'.

这里出了什么问题,我该如何解决?

共有3个答案

谢志文
2023-03-14

为什么只是简单地将'对象'替换为'any':

const myObj: any = {}
const propname = 'propname'

myObj[propname] = 'string'

另一个简短的选择。

卢黎昕
2023-03-14

创建TS Map intad。

const myObj = new Map();
myObj.set('propname', "something");

const propname = 'propname'
myObj.get(propname)
通沛
2023-03-14

您必须定义对象的索引类型。在您的情况下,它是一个基于字符串的索引。

const myObj: {[index: string]:any} = {}
 类似资料: