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.
// 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;
}
function getFirstElement<T>(data: T[]): T | null { ... }
es una función llamada getFirstElement
que utiliza un tipo genérico <T>
. Esto significa que la función puede trabajar con cualquier tipo de datos, representado por T
. Recibe un argumento data
que es un array de elementos del tipo T
. La función retorna un elemento del tipo T
o null
si el array está vacío.if (!data.length) { return null; }
verifica si el array data
está vacío. Si está vacío, la función retorna null
, indicando que no hay primer elemento para retornar.const [firstElement] = data;
desestructura el array data
y asigna su primer elemento a una variable llamada firstElement
.return firstElement;
retorna el firstElement
, que puede ser de cualquier tipo T
, como el primer elemento del array.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];
stringArray
es un array de cadenas y numberArray
es un array de números.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));
getFirstElement<string>(stringArray)
retorna el primer elemento del array de cadenas, que es "Lucas", y lo imprime en la consola.getFirstElement<number>(numberArray)
retorna el primer elemento del array de números, que es 1, y lo imprime en la consola.