获取函数返回类型
题目
不使用 ReturnType
实现 TypeScript 的 ReturnType<T>
泛型。
例如:
const fn = (v: boolean) => {
if (v)
return 1
else
return 2
}
type a = MyReturnType<typeof fn> // 应推导出 "1 | 2"
题目来源:https://tsch.js.org/2/zh-CN
解答
type MyReturnType<T> = T extends (...args: any[]) => infer U ? U : never;
使用infer U
指代返回值类型即可。