TypeScript 索引签名语法的使用

4 min read

索引签名语法是 TypeScript 中一种特殊的语法,它允许我们定义对象的索引类型和对应的属性类型。

语法如下:

interface MyObject {
  [key: string]: number;
}

其中,

  • interface MyObject 定义了一个接口类型 MyObject
  • [key: string] 是索引签名语法的部分,它指定了索引类型为 string
  • number 是对应的属性类型,指定了每个属性值必须是一个数字。

这个接口定义了一个对象类型,该对象中的所有属性名都必须是字符串类型,并且对应的属性值必须是数字类型。

除了 string 外,还可以使用其他类型作为索引类型。例如:

interface MyObject {
  [key: number]: string;
}

这个接口定义了一个对象类型,该对象中的所有属性名都必须是数字类型,并且对应的属性值必须是字符串类型。

使用索引签名语法可以让我们更灵活地定义对象类型,特别是当我们无法预知对象的属性名时,可以使用索引类型来描述对象的属性值类型。