TS/TypeScript 中,把对象的所有键/值变成一个联合类型 Union Type
在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
对象的键之一。
评论已关闭