Sobes.tech
Назад к вопросам
Junior — Middle
104

Какова роль оператора Infer в контексте типов и как он применяется?

Ответ от нейросети

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 помогает создавать более гибкие и обобщённые типы, извлекая внутренние типы из сложных структур.