Funzione di tipo generico in TypeScript

Nelle lezioni precedenti abbiamo creato una funzione identità, che accettava parametri di tipo generico. Ora impareremo a descrivere il tipo di tale funzione e a creare interfacce generiche.

La funzione di tipo generico può anche essere scritta in forma frecciata. Dichiariamo la variabile func, che avrà il tipo di una funzione generica:

typescriptfunction myFunc <T> (data: T): T {
  return data;
}

let func: <T> (data: T) => T = myFunc;

Si può utilizzare un simbolo diverso per il tipo generico di tale variabile. L'importante è assicurarsi che i nomi dei tipi non entrino in conflitto:

typescriptfunction myFunc <T> (data: T): T {
  return data;
}

let func: <U> (data: U) => U = myFunc;

Il tipo generico può essere scritto racchiudendo la firma di chiamata e il tipo della funzione tra parentesi graffe:

typescriptfunction myFunc < T > (data: T): T {
  return data;
}

let func: {<U> (data: U): U} = myFunc;
Задание 1

Scrivete una funzione per determinare la lunghezza di un array di tipo generico nelle varianti descritte in questa lezione.