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.