javascript - ¿Obtener parámetros como un tipo en Typescript?
Sin usar un object con interface o una definición completa de función, ¿se pueden usar los parámetros de una función como un tipo en otro lugar en Typescript, de manera similar a cómo ReturnType<T> usa los tipos de retorno como definiciones de tipo en otro lugar? Me imagino un uso como InputType o ParamType para esto.
Para fines de contexto, tome el siguiente ejemplo:
const x = (y: string, z: string) => ({[y+z]: 3})
Para usar el resultado de esa función ({string: number}) como un tipo, podemos hacer ReturnType<typeof x>, sin embargo, ¿se pueden usar los parámetros de entrada como un tipo de objeto ({y: string, z: string}) o las limitaciones de la estructura similar a un arreglo de JS ([string, string]) chocan con este concepto? El caso de uso sería para un contenedor que pasa argumentos hacia abajo.
Respuesta #1
TypeScript 3.1 introdujo el tipo llamado Parameters que hace exactamente eso.
type MyParams = Parameters<typeof x> // [string, string]
