Variabili di tipo generico in TypeScript
Quando creiamo una funzione di tipo generico, TypeScript ci obbliga a utilizzare correttamente le variabili di tipo nel suo corpo. Di conseguenza, dobbiamo considerare il comportamento di ogni parametro passato alla funzione dal punto di vista di tutti i tipi a nostra disposizione.
Creiamo una funzione per determinare la lunghezza di una variabile di tipo generico:
function myFunc <T> (data: T): T {
console.log(data.length); // errore
return data;
}
L'errore si verifica perché non tutti i tipi hanno una lunghezza. Ad esempio, per i valori booleani tale azione è impossibile. Tuttavia, se specifichiamo il tipo e lo indichiamo come array, il codice funzionerà correttamente. Dopo tutto, ogni array, indipendentemente dal suo tipo, ha una lunghezza:
function myFunc <T> (data: T[]): T[] {
console.log(data.length); // 3
return data;
}
console.log(myFunc([1, 3, 5])); // [ 1, 3, 5 ]
Scrivi una funzione per iterare e visualizzare tutti gli elementi di un array di tipo generico nella console.