Saltar al contenido
webtype.orgwebtype.org

    ↑↓ mover · ⏎ abrir · esc cerrar

    Funciones

    Parameters

    La lista de parámetros de una función, como una tupla.

    Qué es

    El mismo truco de infer que ReturnType, apuntado al otro extremo de la firma. El resultado es una tupla, y eso lo hace componible: espárcela, añádele elementos, quítale la cabeza y pasa el resultado a otra firma.

    Ejemplos

    • Parameters<typeof send>
      →[to: string, retries: number]
    • Parameters<() => void>
      →[]
    • Parameters<(first: string, ...rest: number[]) => void>
      →[first: string, ...rest: number[]]

      Los parámetros rest sobreviven como elemento rest, así que la tupla sigue siendo tan expresiva como la firma.

    Cada tipo resuelto de arriba lo imprimió TypeScript 6.0.3, no se escribió a mano.

    Lo que no hace

    • No conserva los nombres de los parámetros de forma legible. Aparecen en los tooltips como etiquetas de tupla, pero ninguna operación a nivel de tipos puede acceder a ellos.
    • No maneja las sobrecargas mejor que ReturnType — gana la última firma.

    Conclusión

    Una lista de parámetros es una tupla, y toda técnica de tuplas del archivo se le aplica. Esa equivalencia es la razón por la que las tuplas variádicas se añadieron al lenguaje.