Type Challenges
Get Return Type
#TypeScript
2 - Get Return Type
내장 제네릭
ReturnType<T>
을 이를 사용하지 않고 구현하세요.
const fn = (v: boolean) => {
if (v) return 1;
else return 2;
};
type a = MyReturnType<typeof fn>; // should be "1 | 2"
풀이
type MyReturnType<T> = T extends (...args: any) => infer ReturnType
? ReturnType
: never;
args
는 :
을 통해서 파라미터 타입을 지정해주는 반면에 리턴 타입은 바로 infer
로 가져온다.