Junior — Middle
Qual è il ruolo dell'operatore Infer nel contesto dei tipi e come viene applicato?
sobes.tech AI
Risposta dell'AI
L'operatore infer viene utilizzato in TypeScript (spesso in progetti Node.js con tipizzazione) all'interno di tipi condizionali per estrarre un tipo da un altro tipo. Permette di dichiarare una variabile temporanea di tipo, che può essere usata all'interno del tipo condizionale.
Esempio di utilizzo:
type ReturnType<T> = T extends (...args: any[]) => infer R ? R : never;
function foo() { return 42; }
type FooReturn = ReturnType<typeof foo>; // FooReturn sarà number
Qui, infer R permette di estrarre il tipo di ritorno della funzione T. Se T è una funzione, allora R è il suo tipo di ritorno, altrimenti never.
In questo modo, l'operatore infer aiuta a creare tipi più flessibili e generici, estraendo tipi interni da strutture complesse.