← Volver a todas las Posts

Primeros pasos con los genéricos de TypeScript

¿Qué son los genéricos?

Los genéricos te permiten crear componentes reutilizables que pueden trabajar con múltiples tipos en lugar de uno solo. Ofrecen una forma de hacer que los componentes sean seguros a nivel de tipos sin sacrificar flexibilidad.

Sintaxis básica

function identity<T>(arg: T): T {
  return arg;
}

const output = identity<string>("myString");

Interfaces genéricas

interface GenericIdentityFn<T> {
  (arg: T): T;
}

function identity<T>(arg: T): T {
  return arg;
}

const myIdentity: GenericIdentityFn<number> = identity;

Restricciones de genéricos

A veces quieres limitar los tipos que se pueden pasar a una función genérica:

interface HasLength {
  length: number;
}

function logLength<T extends HasLength>(arg: T): T {
  console.log(arg.length);
  return arg;
}

¿Por qué usar genéricos?

  • Seguridad de tipos en tiempo de compilación
  • Reutilización sin recurrir a any
  • Mejor soporte del IDE con autocompletado

Los genéricos son una de las características más potentes de TypeScript. Domínalos y escribirás código mucho más robusto.