本文介绍: 写ts比较少,在写代码的时候,对一个对象做了一个for…网上找了下,才明白原来key值的类型不是string,在javascript中是默认给你转好的,而在Typescript中则不是。在tsconfig.jsoncompilerOptions里面新增忽略的代码,如下所示添加后则不会报错。在定义的Interface里对其进行声明
背景

ts比较少,在写代码的时候,对一个对象做了一个for…in循环然后取到了其每一个key对应的value值,但是写完之后发现编辑器提示报错了,错误内容就是如下问题
在这里插入图片描述

问题

在这里插入图片描述

解决

网上找了下,才明白原来key值的类型不是string,在javascript中是默认给你转好的,而在Typescript中则不是。
方案一
tsconfig.jsoncompilerOptions里面新增忽略的代码,如下所示添加后则不会报错

"suppressImplicitAnyIndexErrors": true

方案二
定义的Interface里对其进行声明

// 告警参数
export interface AlarmConfigItem{
  id:string,
  deviceID:string,
  objno:string | number,
  name:string,
  [key: string]: string
}

推荐第二种方法

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注