Parameters<Type>

Récupère les types des paramètres d’une fonction sous forme de tuple.

Sur cette page

Exemple

#
TypeScript
function award(student: string, exp: number, reason?: string) {
  return `${student}: +${exp} EXP${reason ? ` (${reason})` : ''}`
}

type AwardArgs = Parameters<typeof award>
// type AwardArgs = [student: string, exp: number, reason?: string]

function logged(...args: AwardArgs): string {
  const result = award(...args)
  console.log('LOG:', result)
  return result
}

logged('Léa', 20, 'exercice Flexbox')
logged('Lucas', 5)
Résultat
LOG: Léa: +20 EXP (exercice Flexbox)
LOG: Lucas: +5 EXP

Définition et utilisation

#

Parameters<Type> renvoie un tuple avec les types des paramètres d’une fonction. Pour (name: string, level: number) => void, le résultat est [name: string, level: number].

C’est utile pour créer des fonctions d’encapsulation qui acceptent les mêmes arguments que l’original, par exemple pour journaliser les appels, pour le debounce, ou pour intercepter les erreurs.

Vous pouvez extraire un seul paramètre par index : Parameters<typeof fn>[0] est le type du premier argument.

Syntaxe

#
Syntaxe
type Args = Parameters<typeof fn>

Paramètres de type

#
  • Type

    type de fonction

    La fonction dont vous voulez récupérer les paramètres.

Bonnes pratiques

#
  • Combinez Parameters et ReturnType pour écrire des fonctions d’encapsulation génériques.
  • Le type d’un seul argument : Parameters<typeof fn>[1].

Entrées associées

#

Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.