Saltar al contenido
webtype.orgReturnType

    ↑↓ mover · ⏎ abrir · esc cerrar

    Funciones

    ReturnType

    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>
      void
    • ReturnType<() => string | number>
      string | number

      Un tipo de retorno de unión vuelve entero; aquí no se distribuye nada.

    Cada tipo resuelto de arriba lo imprimió TypeScript 5.9.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.