怎么实现以下功能的 typescript 类型?
实现一个类型 Path,功能是可以提取对象的 key 路径,例如
Path<{foo: {bar: string}, baz: number}> = 'foo' | 'foo.bar' | 'baz'
回复
1个回答

test
2024-08-11
type Path<T, K extends keyof T = keyof T> =
K extends string
? K | (T[K] extends object
? `${K}.${Path<T[K]>}`
: never)
: never
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容