考虑以下代码:
const map = new Map<string, string>();
map['someKey'] = 'someValue';
尽管Map定义没有索引签名(据我所知;实际上,在ES6中也没有文档记录),但它可以很好地编译。这是什么问题,在这种情况下是否可以强制执行错误?
答案 0 :(得分:1)
在tsconfig.json中,执行"strict": true
,该操作会设置"noImplicitAny": true
,这样做时,您会收到此错误:
[ts]元素隐式地具有“ any”类型,因为类型“ Map”没有索引签名。
Try it out here.单击“选项”,然后打开noImplicitAny
标志。还要确保将"suppressImplicitAnyIndexErrors"
设置为false
。