Junior — Middle
Quel est le rôle de l'opérateur Infer dans le contexte des types et comment est-il utilisé?
sobes.tech IA
Réponse de l'IA
L'opérateur infer est utilisé en TypeScript (souvent dans des projets Node.js avec typage) à l'intérieur de types conditionnels pour extraire un type d'un autre type. Il permet de déclarer une variable temporaire de type, que l'on peut utiliser à l'intérieur du type conditionnel.
Exemple d'utilisation :
type ReturnType<T> = T extends (...args: any[]) => infer R ? R : never;
function foo() { return 42; }
type FooReturn = ReturnType<typeof foo>; // FooReturn sera number
Ici, infer R permet d'extraire le type de la valeur de retour de la fonction T. Si T est une fonction, alors R est son type de retour, sinon never.
Ainsi, l'opérateur infer aide à créer des types plus flexibles et génériques, en extrayant des types internes de structures complexes.