출처: Type Challenges, https://github.com/type-challenges/type-challenges/blob/main/README.ko.md
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로 가져온다.
'알고리즘 > Type Challenges' 카테고리의 다른 글
8 - Readonly 2 (0) | 2023.09.17 |
---|---|
3 - Omit (0) | 2023.09.17 |
898 - Includes (0) | 2023.09.17 |
3312 - Parameters (0) | 2023.09.17 |
3060 - Unshift (0) | 2023.09.17 |