元素隐式包含“ any”类型,因为没有索引签名分配给类型“ {}”

Jan*_*nka 1 typescript

对于Express应用程序,我有以下打字稿代码:

for (var propertyName in req.body) {
    console.log(req.body[propertyName]);
}
Run Code Online (Sandbox Code Playgroud)

正常工作

现在,我在另一个打字稿应用程序中重复使用,但是出现了这个错误:

[ts]不包含任何内容的隐含元素,但不包含任何名称的索引。

[ts]元素隐式包含“ any”类型,因为没有索引签名分配给类型“ {}”。

我不明白这个错误

错误在

req.body[propertyName]
Run Code Online (Sandbox Code Playgroud)

如何将签名分配给索引?

bas*_*rat 5

如何将签名分配给索引?

该类型req不受您控制。

固定

用途any

console.log((req as any).body[propertyName]);
Run Code Online (Sandbox Code Playgroud)

现在,如果您的JS有效,那么TS也将

更多