索引签名语法是 TypeScript 中一种特殊的语法,它允许我们定义对象的索引类型和对应的属性类型。
语法如下:
interface MyObject {
[key: string]: number;
}
其中,
interface MyObject
定义了一个接口类型MyObject
;[key: string]
是索引签名语法的部分,它指定了索引类型为string
;number
是对应的属性类型,指定了每个属性值必须是一个数字。
这个接口定义了一个对象类型,该对象中的所有属性名都必须是字符串类型,并且对应的属性值必须是数字类型。
除了 string
外,还可以使用其他类型作为索引类型。例如:
interface MyObject {
[key: number]: string;
}
这个接口定义了一个对象类型,该对象中的所有属性名都必须是数字类型,并且对应的属性值必须是字符串类型。
使用索引签名语法可以让我们更灵活地定义对象类型,特别是当我们无法预知对象的属性名时,可以使用索引类型来描述对象的属性值类型。