Back to questions
Junior — Middle
84
Применяли ли вы дженерики в сочетании с оператором infer в своих проектах?
Answer from AI
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, и я использовал подобные паттерны для улучшения типизации своих функций и компонентов.