单位制作网站备案,天津建设网工程信息网,要多少钱,优化落实防控措施今天在写ts文件的过程中#xff0c;我遍历了一个对象#xff0c;然后取值的时候发现爆红,如下图#x1f447; 经过我一通排查#xff08;原因我对ts也不是很熟练#xff09;#xff0c;了解到大致意思是说key的值类型不是string类型#xff0c;在javascript中是默认给你…今天在写ts文件的过程中我遍历了一个对象然后取值的时候发现爆红,如下图 经过我一通排查原因我对ts也不是很熟练了解到大致意思是说key的值类型不是string类型在javascript中是默认给你转好的而在Typescript中则不是因此要么转要么声明要么忽略…
方案一忽略 在tsconfig.json中compilerOptions里面新增忽略的代码就不会报错了如下
suppressImplicitAnyIndexErrors: true方案二声明 在定义的Interface里对其进行声明如下所示:
interface IComponent {[key:string]: any
}
const allGloablComponent:IComponent {SvgIcon,Pagination};或者可以直接省略interfaceconst后面定义类型也OK
方案三对其使用keyof进行判断
之前这样的爆红
allGloablComponent[key]
修复之后这样写
allGloablComponent[key as keyof typeof allGloablComponent]已经不报错啦 个人推荐方案二和方案三方案一有点any的味道意义不大不推荐