在 TypeScript 中,可以使用字符串字面量类型来限制对象的键为集合字符串列表。字符串字面量类型是一种特殊的字符串类型,它只能取特定的几个字符串值。
下面是如何将对象的键限制为 TypeScript 中的集合字符串列表的方法:
type AllowedKeys = "key1" | "key2" | "key3";
MyObject
类型的对象只能具有 "key1"、"key2" 和 "key3" 这三个键,且键的类型可以是任意类型(在上述示例中,类型为 any
)。下面是一个完整的示例,展示了如何将对象的键限制为 TypeScript 中的集合字符串列表:
type AllowedKeys = "key1" | "key2" | "key3";
interface MyObject {
[key in AllowedKeys]: any;
}
const obj: MyObject = {
key1: "value1",
key2: "value2",
key3: "value3",
};
console.log(obj.key1); // 输出: value1
console.log(obj.key2); // 输出: value2
console.log(obj.key3); // 输出: value3
obj.key4 = "value4"; // 错误: 不能将类型“"value4"”分配给类型“never”
在上述示例中,MyObject
类型的对象只能具有 "key1"、"key2" 和 "key3" 这三个键,且键的类型可以是任意类型。如果尝试给对象添加不在允许的键集合中的键,TypeScript 编译器会报错。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云