Back to questions
Middle+
2
Для чего нужен infer в TypeScript?
Companies where asked
Ifellow
Answer from AI
sobes.tech AI
В TypeScript ключевое слово infer используется внутри условных типов для вывода (выделения) типа из другого типа. Оно позволяет захватывать часть типа и использовать её в дальнейшем.
Пример использования infer:
type ReturnType<T> = T extends (...args: any[]) => infer R ? R : never;
// Здесь мы проверяем, является ли T функцией, и если да, то извлекаем тип возвращаемого значения R
function example(): string {
return "hello";
}
type Result = ReturnType<typeof example>; // Result будет string
infer полезен для создания обобщённых утилитных типов, которые могут извлекать информацию из сложных типов, например, параметры функций, типы элементов массива, типы промисов и т.д.
Таким образом, infer расширяет возможности типовой системы TypeScript, позволяя писать более гибкие и мощные типы.