Typescript如何提取外层函数返回的内层函数返回类型?
可以,使用 TypeScript 内置的 ReturnType 工具类型逐层提取嵌套函数的返回类型即可。
你需要的目标类型可以通过两层 ReturnType 嵌套实现:
type TargetType = ReturnType<ReturnType<typeof creator>>;
此时的 TargetType 就等价于你期望的 { foo: number; bar: number } 类型。
逻辑说明:
- 内层的
ReturnType<typeof creator>会先提取creator执行后返回的第一层无参函数的类型 - 外层再套一层
ReturnType,就能提取到第一层无参函数执行后返回的对象类型
如果后续遇到嵌套层级更深的、函数返回函数的场景,按照这个逻辑多嵌套几层 ReturnType 即可。
内容的提问来源于stack exchange,提问作者Kaio Duarte
相关产品推荐
相关产品推荐

