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:

typescriptfunction 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:

typescriptfunction myFunc <T> (data: T[]): T[] {
  console.log(data.length); // 3
  return data;
}

console.log(myFunc([1, 3, 5])); // [ 1, 3, 5 ]
Задание 1

Scrivi una funzione per iterare e visualizzare tutti gli elementi di un array di tipo generico nella console.