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 5.9.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.