0%
Generics em TypeScript

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

Link copiado!