Sobes.tech
Junior — Middle

Aká je úloha operátora Infer v kontexte typov a ako sa používa?

sobes.tech AI

Odpoveď od AI

Operátor infer sa v TypeScript (často v Node.js projektech s typizací) používá uvnitř podmíněných typů k extrakci typu z jiného typu. Umožňuje deklarovat dočasnou proměnnou typu, kterou lze použít uvnitř podmíněného typu.

Příklad použití:

type ReturnType<T> = T extends (...args: any[]) => infer R ? R : never;

function foo() { return 42; }

type FooReturn = ReturnType<typeof foo>; // FooReturn bude number

Zde infer R umožňuje extrahovat typ návratové hodnoty funkce T. Pokud je T funkcí, pak R je její návratový typ, jinak never.

Tímto způsobem pomáhá operátor infer vytvářet flexibilnější a obecnější typy, extrahováním vnitřních typů z složitých struktur.