TypeScript中报错:元素隐式具有 “any“ 类型,因为类型为 “XXX“ 的表达式不能用于索引类型。

当使用键值对进行匹配的时候,ts会报元素有any的类型的错误。

例子:

let obj = {
    
    
  1: '轻微',
  2: '中等',
  3: '严重'
}
let variable = '这是'
// let res = obj[variable]  // 这里会报错

// 解决办法:声明一下键值对的类型
type objType = {
    
    
  1:string|number;
  2:string|number;
  3:string|number;
  [propName: string]: string;
}
let res = obj[variable as keyof objType]

猜你喜欢

转载自blog.csdn.net/Y1914960928/article/details/133132977