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:
function 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:
function 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:
function myFunc < T > (data: T): T {
return data;
}
let func: {<U> (data: U): U} = myFunc;
Scrivete una funzione per determinare la lunghezza di un array di tipo generico nelle varianti descritte in questa lezione.