Back to questions
Junior — Middle
103
Какова роль оператора Infer в контексте типов и как он применяется?
Answer from AI
sobes.tech AI
Оператор infer используется в TypeScript (часто в Node.js-проектах с типизацией) внутри условных типов для извлечения типа из другого типа. Он позволяет объявить временную переменную типа, которую можно использовать внутри условного типа.
Пример применения:
type ReturnType<T> = T extends (...args: any[]) => infer R ? R : never;
function foo() { return 42; }
type FooReturn = ReturnType<typeof foo>; // FooReturn будет number
Здесь infer R позволяет извлечь тип возвращаемого значения функции T. Если T — функция, то R — её возвращаемый тип, иначе never.
Таким образом, оператор infer помогает создавать более гибкие и обобщённые типы, извлекая внутренние типы из сложных структур.