打字稿:ES6地图+索引签名=没有错误?

时间:2018-06-21 06:13:54

标签: typescript

考虑以下代码:

const map = new Map<string, string>();
map['someKey'] = 'someValue';

尽管Map定义没有索引签名(据我所知;实际上,在ES6中也没有文档记录),但它可以很好地编译。这是什么问题,在这种情况下是否可以强制执行错误?

1 个答案:

答案 0 :(得分:1)

在tsconfig.json中,执行"strict": true,该操作会设置"noImplicitAny": true,这样做时,您会收到此错误:

  

[ts]元素隐式地具有“ any”类型,因为类型“ Map”没有索引签名。

Try it out here.单击“选项”,然后打开noImplicitAny标志。还要确保将"suppressImplicitAnyIndexErrors"设置为false