Junior — Middle
Qual é o papel do operador Infer no contexto dos tipos e como ele é aplicado?
sobes.tech IA
Resposta da IA
O operador infer é usado em TypeScript (frequentemente em projetos Node.js com tipagem) dentro de tipos condicionais para extrair um tipo de outro tipo. Permite declarar uma variável temporária de tipo, que pode ser usada dentro do tipo condicional.
Exemplo de uso:
type ReturnType<T> = T extends (...args: any[]) => infer R ? R : never;
function foo() { return 42; }
type FooReturn = ReturnType<typeof foo>; // FooReturn será number
Aqui, infer R permite extrair o tipo do valor de retorno da função T. Se T for uma função, então R é o seu tipo de retorno, caso contrário, never.
Assim, o operador infer ajuda a criar tipos mais flexíveis e genéricos, extraindo tipos internos de estruturas complexas.