馃敟 OBJECT TYPES, ARRAY TYPE (EL TIPO ARREGLO)

Los generics son por lo general un contenedor de cierto tipo que trabajar de forma independiente del tipo de elementos que contiene. Es ideal para estructuras de datos trabajar de esta forma, de manera que sean reutilizables a trav茅s de diferentes tipos de datos.

Hemos estado trabajando con el tipo Array a lo largo de las lecciones anteriores. Cuando hacemos referencia a string[] o number[], usamos la sintaxis alternativa a Array<string> y Array<number>.

const imprimirTareas = (v: Array<string>) => {
    v.forEach((v) => {
        console.log(v);
    });
};

const misTareas: string[] = [
    "levantarse",
    "lavarse los dientes",
    "sacar al perro",
];

imprimirTareas(misTareas);

Salida…

levantarse
lavarse los dientes
sacar al perro

En la funci贸n imprimirTareas recibimos un par谩metro tipo Array<string> (un arreglo de cadenas). Cuando invocamos la funci贸n imprimirTareas le enviamos el argumento misTareas que es tipo string[], que tambi茅n hace referencia al mismo tipo de arreglo. Esto debido a que tanto Array<string> como string[] representan lo mismo.

As铆 como en la lecci贸n anterior en donde hablamos de generics, Array tambi茅n representa un generic.

interface Array<T> {
    /**
     * Obtiene el tama帽o del arreglo
     */
    length: number;

    /**
     * Remueve el 煤timo elemento del arreglo y lo retorna
     */
    pop(): T | undefined;

    /**
     * Agrega un nuevo elemento al arreglo y retorna el tama帽o de este
     */
    push(...items: T[]): number;

    // ...
}

La programaci贸n moderna en JavaScript provee ademas otras estructuras que son tambi茅n generics, como Map<K, V>, Set<T, y Promise<T>. Esto quiere decir que debido a como funcionan Map, Set y Promise, pueden trabajar con cualquier conjunto de tipos.