Genéricos
Aprenda a criar componentes reutilizáveis usando genéricos
Genéricos é uma aula grátis de TypeScript Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de TypeScript Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de TypeScript Academy inclui 4 aulas no total.
Introdução aos genéricos
Genéricos
Boas-vindas à próxima lição! Nesta lição, você aprenderá sobre genéricos, um recurso poderoso do TypeScript que permite criar componentes reutilizáveis e seguros quanto aos tipos. Vamos começar!

O que são genéricos?
O que são genéricos?
Os genéricos permitem escrever código reutilizável que funciona com qualquer tipo. Eles atuam como espaços reservados para tipos que você pode especificar ao usá-los.
Exemplo: Uma função genérica:
Tarefa: Escreva uma função genérica que receba um argumento e o retorne sem alterações.
function identity<T>(value: T): T {
return value;
}
console.log(identity<string>("Hello"));
// Output: Hello
console.log(identity<number>(42));
// Output: 42
Por que usar genéricos?
Por que usar genéricos?
Os genéricos ajudam você a:
- Escrever código reutilizável: Funções e classes podem trabalhar com diferentes tipos.
- Garantir a segurança de tipos: Você pode impor tipos específicos sem abrir mão da flexibilidade.
- Reduzir a redundância: Evite escrever versões separadas da mesma função ou classe para diferentes tipos.
Dica: Use genéricos para escrever código mais flexível e fácil de manter.
Funções genéricas
Funções genéricas
Você pode usar genéricos para criar funções flexíveis. Exemplo:
Tarefa: Escreva uma função genérica que combine dois objetos e retorne o resultado.
function merge<T, U>(obj1: T, obj2: U): T & U {
return { ...obj1, ...obj2 };
}
let merged = merge({ name: "Alice" }, { age: 25 });
console.log(merged);
// Output: { name: "Alice", age: 25 }
Classes genéricas
Classes genéricas
Os genéricos podem ser usados em classes para torná-las reutilizáveis com diferentes tipos. Exemplo:
class Box<T> {
private contents: T;
constructor(contents: T) {
this.contents = contents;
}
getContents(): T {
return this.contents;
}
}
let stringBox = new Box<string>("Hello");
console.log(stringBox.getContents());
// Output: Hello
let numberBox = new Box<number>(42);
console.log(numberBox.getContents());
// Output: 42
Interfaces genéricas
Interfaces genéricas
As interfaces também podem usar genéricos para impor uma estrutura a diferentes tipos. Exemplo:
Tarefa: Defina uma interface genérica e crie um objeto que a implemente.
interface Pair<T, U> {
first: T;
second: U;
}
let coordinates: Pair<number, number> = { first: 10, second: 20 };
console.log(coordinates);
// Output: { first: 10, second: 20 }
Restrições de genéricos
Restrições de genéricos
Você pode adicionar restrições aos genéricos para garantir que eles funcionem apenas com tipos específicos. Exemplo:
function printLength<T extends { length: number }>(item: T): void {
console.log(`Length: ${item.length}`);
}
printLength("Hello");
// Output: Length: 5
printLength([1, 2, 3]);
// Output: Length: 3
// printLength(42);
// Error: Argument of type 'number' is not assignable to parameter of type '{ length: number }'.
Valores padrão de genéricos
Valores padrão de genéricos
Você pode especificar tipos padrão para os genéricos quando nenhum tipo for fornecido. Exemplo:
Tarefa: Crie uma função genérica com um tipo padrão e teste-a com diferentes tipos.
function wrap<T = string>(value: T): T[] {
return [value];
}
console.log(wrap("Hello")); // Output: ["Hello"]
console.log(wrap(42)); // Output: [42]
Muito bem!
Muito bem!
Parabéns! Você aprendeu a usar genéricos em TypeScript para criar funções, classes e interfaces reutilizáveis e seguras quanto aos tipos. Os genéricos são uma ferramenta poderosa para escrever código flexível e escalável. Na próxima lição, exploraremos tipos avançados, como tipos mapeados e condicionais. Vamos continuar programando!

Perguntas Frequentes
A aula “Genéricos” é grátis?
Sim — o texto completo de “Genéricos” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de TypeScript Academy, atualize para CoddyKit PRO. O curso de TypeScript Academy inclui 4 aulas no total.
O que vou aprender em “Genéricos”?
Aprenda a criar componentes reutilizáveis usando genéricos Você pratica TypeScript Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar TypeScript Academy?
Nenhuma experiência prévia é necessária. TypeScript Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Genéricos”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de TypeScript Academy?
Sim. Cada aula de TypeScript Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.