背景
写ts比较少,在写代码的时候,对一个对象做了一个for…in循环,然后取到了其每一个key对应的value值,但是写完之后发现编辑器提示报错了,错误内容就是如下问题:
问题
解决
网上找了下,才明白原来key值的类型不是string,在javascript中是默认给你转好的,而在Typescript中则不是。
方案一
在tsconfig.json中compilerOptions里面新增忽略的代码,如下所示,添加后则不会报错
"suppressImplicitAnyIndexErrors": true
方案二
在定义的Interface里对其进行声明
// 告警参数项
export interface AlarmConfigItem{
id:string,
deviceID:string,
objno:string | number,
name:string,
[key: string]: string
}
推荐第二种方法