Sobes.tech
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, позволяя писать более гибкие и мощные типы.