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

Применяли ли вы дженерики в сочетании с оператором infer в своих проектах?

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

sobes.tech AI

В TypeScript оператор infer используется внутри условных типов для извлечения типа из другого типа. В сочетании с дженериками это позволяет создавать более гибкие и мощные типы.

Например, можно извлечь тип возвращаемого значения функции:

type ReturnType<T> = T extends (...args: any[]) => infer R ? R : never;

function example() {
  return 42;
}

type Result = ReturnType<typeof example>; // Result будет number

В своих проектах я применял такие конструкции для создания универсальных утилит типизации, например, для извлечения типов параметров функций, типов элементов массивов и т.п. Это помогает писать более безопасный и переиспользуемый код.

Если говорить о практике, infer часто используется в библиотеках для типизации, например, в Redux Toolkit или React Query, и я использовал подобные паттерны для улучшения типизации своих функций и компонентов.