TS/TypeScript 中,把对象的所有键/值变成一个联合类型 Union Type
warning:
这篇文章距离上次修改已过431天,其中的内容可能已经有所变动。
在TypeScript中,可以使用keyof操作符获取对象的所有键,然后使用typeof操作符获取每个键的类型,最后通过联合类型将它们组合起来。以下是一个示例代码:
type UnionOfObjectKeys<T> = T extends any ? keyof T : never;
interface Example {
name: string;
age: number;
isActive: boolean;
}
type ExampleKeysUnion = UnionOfObjectKeys<Example>; // "name" | "age" | "isActive"在这个例子中,UnionOfObjectKeys是一个泛型,它接受一个对象类型T并返回它所有键的联合类型。ExampleKeysUnion将是一个包含"name", "age", "isActive"的联合类型。这样,你就可以使用ExampleKeysUnion来指定函数参数或变量类型,它们必须是Example对象的键之一。
评论已关闭