获取函数返回类型
获取函数返回类型
题目
不使用 ReturnType 实现 TypeScript 的 ReturnType<T> 泛型。
例如:
function fn(v: boolean) {
if (v)
return 1
else
return 2
}
type a = MyReturnType<typeof fn> // 应推导出 "1 | 2"
解答
type MyReturnType<T> = T extends (...args: any[]) => infer R ? R : void
简单的使用infer来推断函数的返回类型即可。
对于不熟悉infer的同学,可以参考 infer。