Sobes.tech
Junior — Middle

Jaka jest rola operatora Infer w kontekście typów i jak jest stosowany?

sobes.tech AI

Odpowiedź od AI

Operator infer jest używany w TypeScript (często w projektach Node.js z typowaniem) wewnątrz typów warunkowych do wyodrębniania typu z innego typu. Pozwala na zadeklarowanie tymczasowej zmiennej typu, którą można użyć wewnątrz typu warunkowego.

Przykład użycia:

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

function foo() { return 42; }

type FooReturn = ReturnType<typeof foo>; // FooReturn będzie typu number

Tutaj infer R pozwala wyodrębnić typ wartości zwracanej przez funkcję T. Jeśli T jest funkcją, to R jest jej typem zwracanym, w przeciwnym razie never.

W ten sposób operator infer pomaga tworzyć bardziej elastyczne i uniwersalne typy, wyodrębniając wewnętrzne typy z złożonych struktur.