要创建一个包含各种类型值的可索引类型接口,可以使用 TypeScript 的索引签名。下面是一个示例代码:
interface MyIndexable {
[key: string]: string | number | boolean;
}
const obj: MyIndexable = {
name: "John",
age: 25,
isStudent: true,
address: "123 Main St",
};
console.log(obj.name); // "John"
console.log(obj.age); // 25
console.log(obj.isStudent); // true
console.log(obj.address); // "123 Main St"
在上面的代码中,我们定义了一个接口 MyIndexable
,它具有一个索引签名 [key: string]: string | number | boolean
,意味着该接口可以包含任意类型为字符串、数字或布尔值的属性。然后,我们创建了一个对象 obj
,它符合 MyIndexable
接口,并给它赋予了不同类型的属性。
通过索引访问 obj
的属性时,可以像访问普通对象一样使用点号运算符。在上面的示例中,我们分别打印了 obj
的不同属性值,它们的类型分别为字符串、数字和布尔值。
这样,我们就创建了一个包含各种类型值的可索引类型接口,并使用了一个示例来演示它的用法。