Funciones
Return Type
El tipo que devuelve una función.
Qué es
Un tipo condicional con infer en la posición de retorno — el ejemplo canónico de encajar un patrón sobre un tipo. infer R declara una variable que el compilador rellena al emparejar, y la rama verdadera es donde puedes usarla.
Ejemplos
ReturnType<typeof makeUser>→{ id: number; name: string; }ReturnType<() => void>→voidReturnType<() => string | number>→string | numberUn tipo de retorno de unión vuelve entero; aquí no se distribuye nada.
Cada tipo resuelto de arriba lo imprimió TypeScript 6.0.3, no se escribió a mano.
Lo que no hace
- No toma un *valor* de función. Toma un *tipo* de función, y por eso siempre acabas escribiendo
ReturnType<typeof fn>. - No resuelve sobrecargas como lo haría una llamada. Ante una función sobrecargada informa de la última firma, no de la que habrían elegido tus argumentos.
Conclusión
typeof cruza del mundo de los valores al de los tipos; ReturnType trabaja ya dentro. Casi todo uso de uno implica el otro.

