TypeScript Types and Generics/Infer a return type

Use `infer` inside a conditional type.

Section: Mapped and Conditional Types

Infer a return type

typescript
typescript
type GetReturn<T> = T extends (...args: never[]) => infer R ? R : never;
Explanation

`infer` captures a type from a matched pattern in a conditional type.

Learn the surrounding workflow

Compare similar commands or jump into common fixes when this command is part of a bigger troubleshooting path.

Related commands

Same sheet · prioritizing Mapped and Conditional Types
Conditional type
Choose a type based on another type relationship.
OpenIn sheettypescriptsame section
Simple mapped type
Create a type by iterating over keys.
OpenIn sheettypescriptsame section
Discriminated union pattern
Model variant objects with a shared discriminant field.
OpenIn sheettypescriptsame section
Generic identity function
Use a type parameter for reusable function typing.
OpenIn sheettypescript1 tag match
Use `keyof`
Get a union of property names from a type.
OpenIn sheettypescript1 tag match
Use `Partial<T>`
Make every property optional.
OpenIn sheettypescript1 tag match