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