Typescript错误:TS7053元素隐式包含一个';任何';类型

Typescript错误:TS7053元素隐式包含一个';任何';类型,typescript,Typescript,这是我代码的一部分: constmyobj:object={} 常量propname='propname' myObj[propname]=“字符串” 但我有一个错误: 路径/to/file.ts中的错误(4,1) TS7053:元素隐式具有“any”类型,因为类型为“propname”的表达式不能用于索引类型“{}”。 类型“{}”上不存在属性“propname”。 这里有什么问题,我如何修复它?您必须定义对象的索引类型。在您的例子中,它是一个基于字符串的索引 const myObj: {

这是我代码的一部分:

constmyobj:object={}
常量propname='propname'
myObj[propname]=“字符串”
但我有一个错误:

路径/to/file.ts中的
错误(4,1)
TS7053:元素隐式具有“any”类型,因为类型为“propname”的表达式不能用于索引类型“{}”。
类型“{}”上不存在属性“propname”。

这里有什么问题,我如何修复它?

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

const myObj: {[index: string]:any} = {}

为什么只是简单地用“any”替换“object”:

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

myObj[propname] = 'string'

另一个简短的选择。

重复的@TSR-Oh,讽刺!:)非常感谢。我找到了。很好的解决方案!!Javascript是一个该死的魔法那么为什么要使用Typescript呢?@RamoFX显然:)类型注释
:any
就是我所缺少的。这在TS中处理JS对象时非常有用,例如传递到
JSON.stringify(…)