¿Qué es?

Los Generics en TypeScript son una manera flexible de escribir código que funciona con diferentes tipos de datos, manteniendo la seguridad de tipos. Con generics, puedes crear funciones, clases e interfaces que pueden ser parametrizadas con tipos específicos. Esto permite reutilizar código con diferentes tipos de datos, haciendo que tu código sea más genérico y flexible.

¿Cómo utilizarlo?

// Función que obtiene el primer elemento de un array genérico
function getFirstElement<T>(data: T[]): T | null {
  if (!data.length) {
    return null;
  }

  const [firstElement] = data;

  return firstElement;
}

Después de definir la función, el código crea dos arrays:

const stringArray: string[] = ['Lucas', 'Fernanda', 'Gabriel', 'Maria'];
const numberArray: number[] = [1, 2, 3, 4, 5, 6];

Luego, se llama a la función getFirstElement dos veces, una con stringArray y otra con numberArray, especificando el tipo genérico T como string y number, respectivamente:

console.log(getFirstElement<string>(stringArray));
console.log(getFirstElement<number>(numberArray));