Generics
Código reutilizável com segurança de tipos
10-15 min
Generics em TypeScript
Os generics permitem criar componentes reutilizáveis que funcionam com diferentes tipos, mantendo a segurança de tipos.
Introdução aos generics
Problema sem generics
// Sem generics - código duplicado
function identiteString(arg: string): string {
return arg;
}
function identiteNumber(arg: number): number {
return arg;
}
function identiteBoolean(arg: boolean): boolean {
return arg;
}
// Ou uso de any - perda de type safety
function identiteAny(arg: any): any {
return arg;
}
Solução com generics
// Com generics - reutilizável e type-safe
function identite<T>(arg: T): T {
return arg;
}
// Utilização
let resultatString = identite<string>("hello"); // Type: string
let resultatNumber = identite<number>(42); // Type: number
let resultatBoolean = identite<boolean>(true); // Type: boolean
// Inferência de tipo
let resultat1 = identite("hello"); // TypeScript infere T = string
let resultat2 = identite(42); // TypeScript infere T = number
Funções genéricas
Sintaxe básica
// Função genérica simples
function premierElement<T>(tableau: T[]): T | undefined {
return tableau[0];
}
let nombres = [1, 2, 3, 4, 5];
let premier = premierElement(nombres); // Type: number | undefined
let mots = ["hello", "world"];
let premierMot = premierElement(mots); // Type: string | undefined
Comentários
Os comentários são alimentados pelo GitHub Discussions
Conecte-se com o GitHub para participar da discussão