Junior — Middle
111
Können Sie den Zweck und die Verwendung des Operators Infer in TypeScript erklären?
Antwort von AI
sobes.tech KI
Оператор 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 помогает создавать более гибкие и мощные типы, извлекая вложенные типы из других типов.