跳到主要内容

ReturnType

不使用 ReturnType 实现 TypeScript 的 ReturnType<T> 泛型。

例如:

const fn = (v: boolean) => {
if (v) return 1;
else return 2;
};

type a = MyReturnType<typeof fn>; // 应推导出 "1 | 2"

答案

Details
type MyReturnType<T> = T extends (...args: any[]) => infer P ? P : never