$ devBelts
2026-05-19

Generics

Un mecanismo de TypeScript que permite crear funciones y tipos reutilizables que trabajan con múltiples tipos sin perder la información de tipo.

Los generics permiten parametrizar tipos de la misma forma que las funciones parametrizan valores:

function primero<T>(arr: T[]): T {
    return arr[0];
}
// T se infiere automáticamente:
primero([1, 2, 3]);    // T = number, retorno: number
primero(["a", "b"]);   // T = string, retorno: string

// Con restricciones
function obtener<T extends { id: number }>(arr: T[], id: number): T | undefined {
    return arr.find(item => item.id === id);
}

Los generics son esenciales para crear utilidades reutilizables que mantienen la seguridad de tipos. Sin generics, tendrías que usar any y perder toda la protección.

Ver también