学习TypeScript 4 --- 签名索引类型

50 阅读1分钟

使用场景:当无法确定对象中有哪些属性的时候(对象可以出现任意多个属性)

interface AnyObject {
  [key: string]: number
}
let obj: AnyObject = {
  a: 1,
  b:2,
  c:3
}
console.log(obj)

解释:

  1. 使用 [key: string]: number来约束该接口出现的名称只要是string类型的属性名称就都可以出现
  2. 对象obj中就可以出现任意多个属性
  3. key只是占位符,可以换成任意合法的名称
  4. 前置知识:JS中对象({})的键都是string类型的