Sobes.tech
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.