有一种类型
type A = { a: type1; b: type2; c: type2 };
如何创建一个类型,从类型A的可能值类型创建联合类型?
type Magic<A>; // type1 | type2
答案 0 :(得分:2)
对于类型中所有类型值的并集:
type Magic<T> = T[keyof T];
// Magic<A> has type: type1 | type2
或者,如果您只想从特定键获取类型:
type Magic<T, K extends keyof T> = T[K];
// Magic<A, "a"|"b"> has type: type1 | type2
查看the docs的映射类型部分,了解这些类型的工作原理。