馃敟 FUNCIONES, GENERICS INFERENCE (INFERENCIA)

Podemos ver que no es necesario especificar el tipo en nuestro ejemplo anterior, TypeScript es capaz de inferir el tipo proporcionado y a partir de ah铆 obtener el tipo de salida esperado. Tampoco estamos limitados a un solo tipo dentro de nuestras generic functions, podemos utilizar varias referencias.

function map<Entrada, Salida>(
    arr: Entrada[],
    func: (arg: Entrada) => Salida
): Salida[] {
    return arr.map(func);
}

const longitudDeStrings = map(["hola mundo", "adios mundo"], (arg) => {
    return arg.length;
});

console.log(longitudDeStrings);

Salida…

[ 10, 11 ]

En el ejemplo anterior hay 2 generics que utilizamos, Entrada y Salida. El tipo de Entrada representa el tipo que almacena el arreglo, que se va iterando a trav茅s de map, mientras que Salida se encarga de hacer referencia al valor en el que se ha transformado, para el caso hemos convertido el arreglo de strings en un num茅rico que indica la longitud de cada uno de estas cadenas de texto.