获取 TypeScript 中对象联合的键

wal*_*ode 6 typescript

有没有办法获取对象的联合类型的所有键{ a: ...} | { b: ...}?值得一提的是 \xe2\x80\x94 这个类型是动态生成的。

\n\n

花了几个小时,但没有任何运气......

\n

jpe*_*erl 8

条件类型遵循分配律

沿着这些思路(或至少是一个开始)

type Keys<T> = T extends {[key: string]: any} ? keyof T : never

type Test = Keys<{a: string} | {b: number} | {c: object}>

//type Test = "a" | "b" | "c"
Run Code Online (Sandbox Code Playgroud)

操场