TypeScriptTypes utilitaires
Parameters<Type>
Récupère les types des paramètres d’une fonction sous forme de tuple.
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
ParametersetReturnTypepour écrire des fonctions d’encapsulation génériques. - Le type d’un seul argument :
Parameters<typeof fn>[1].
Entrées associées
#- ReturnType<Type>Récupère le type de la valeur renvoyée par une fonction.
- TuplesDes tableaux de longueur fixe où chaque position a son propre type.
- inferExtrait un type de l’intérieur d’un autre type, dans un type conditionnel.
- Types de fonctionsTyper les paramètres, la valeur de retour et les fonctions elles-mêmes en tant que valeurs.
Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.