Implement the built-in `ReturnType<T>` generic without using it. Learn conditional types with `infer` in this medium-level challenge on TypeScriptPro.
Implement the built-in ReturnType<T>
generic without using it. 🔍
In this medium-level challenge, you'll implement the built-in returntype<t>
generic without using it.. Learn conditional types with infer
in this medium-level challenge on TypeScriptPro.
You'll learn about conditional types with infer
, essential skills for advanced TypeScript development and type-level programming.
For this challenge, you will need to change the following code to make the tests pass (no type check errors).
Implement the built-in ReturnType<T>
generic without using it.
For example
const fn = (v: boolean) => {
if (v)
return 1
else
return 2
}
type a = MyReturnType<typeof fn> // should be "1 | 2"
To extract the return type from a function, we use conditional types with infer
:
type MyReturnType<T> = T extends (...args: never) => infer ReturnType
? ReturnType
: never
How it works:
never
argumentsinfer ReturnType
to capture the return typeReturnType
if it's a function, otherwise never
This challenge helps you understand conditional types with infer
and how to apply this concept in real-world scenarios.
Be the first to access the course, unlock exclusive launch bonuses, and get special early-bird pricing before anyone else.
Only 27 Spots left
Get 1 month early access
Pre-Launch discount
This challenge is originally from here.