Interfaces genéricas e aliases de tipos
Aplique genéricos a interfaces e tipos personalizados
Interfaces genéricas e aliases de tipos é uma aula grátis de TypeScript Academy no CoddyKit. Esta é a aula 2 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.
Boas-vindas
Sintaxe de interface genérica
interface Box<T> {
value: T;
unwrap(): T;
}
const box: Box<number> = { value: 42, unwrap() { return this.value; } };Alias de tipo genérico
type Maybe<T> = T | null | undefined;
type Pair<A, B> = { first: A; second: B };
const p: Pair<string, number> = { first: 'Alice', second: 30 };Interface genérica de repositório
interface Repository<T> {
findById(id: number): T | null;
findAll(): T[];
save(item: T): void;
delete(id: number): void;
}Implementando uma interface genérica
class UserRepo implements Repository<User> {
findById(id: number): User | null { return null; }
findAll(): User[] { return []; }
save(user: User): void {}
delete(id: number): void {}
}Estendendo interfaces genéricas
interface Named<T> { name: T; }
interface NamedAndAged<T> extends Named<T> { age: number; }Tipo genérico de resposta
type ApiResponse<T> = {
status: 'success' | 'error';
data: T;
timestamp: number;
};
const res: ApiResponse<User[]> = { status: 'success', data: [], timestamp: Date.now() };Vários parâmetros de tipo em interfaces
interface KeyValue<K, V> {
key: K;
value: V;
}
const kv: KeyValue<string, number> = { key: 'age', value: 30 };Método genérico em uma interface não genérica
interface Transformer {
transform<T, U>(input: T, fn: (val: T) => U): U;
}Tipos genéricos recursivos
interface TreeNode<T> {
value: T;
children: TreeNode<T>[];
}Alias de tipo versus interface para genéricos
Verificação rápida
Recapitulação
Perguntas Frequentes
A aula “Interfaces genéricas e aliases de tipos” é grátis?
Sim — o texto completo de “Interfaces genéricas e aliases de tipos” é 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 “Interfaces genéricas e aliases de tipos”?
Aplique genéricos a interfaces e tipos personalizados 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 2 de 4.
Quanto tempo leva a aula “Interfaces genéricas e aliases de tipos”?
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.
Todas as aulas deste curso
- Funções genéricas: parâmetros de tipo
- Interfaces genéricas e aliases de tipos
- Restrições genéricas com extends
- Parâmetros de tipo padrão