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.