Generiske typevariabler i TypeScript
Når vi oppretter en funksjon av generisk type, tvinger TypeScript oss til å bruke typevariablene på riktig måte i dens kropp. Derfor må vi vurdere oppførselen til hver parameter som sendes til funksjonen, ut fra alle tilgjengelige typer for oss.
La oss opprette en funksjon for å bestemme lengden på en variabel av generisk type:
function myFunc <T> (data: T): T {
console.log(data.length); // feil
return data;
}
Feilen oppstår fordi ikke alle typer har en lengde. For eksempel, for boolske verdier er en slik handling umulig. Men hvis vi presiserer typen og angir den som en array, vil koden fungere korrekt. Tross alt, har hver array, uansett hvilken type den er, en lengde:
function myFunc <T> (data: T[]): T[] {
console.log(data.length); // 3
return data;
}
console.log(myFunc([1, 3, 5])); // [ 1, 3, 5 ]
Skriv en funksjon for å iterere gjennom og skrive ut alle elementene i en array av generisk type til konsollen.