Generiske typevariable i TypeScript
Når vi opretter en funktion af generisk type, tvinger TypeScript os til at bruge typevariablerne korrekt i dens krop. Derfor er vi nødt til at overveje adfærden af hver parameter, der sendes til funktionen, ud fra alle de tilgængelige typer for os.
Lad os oprette en funktion til at bestemme længden af en variabel af generisk type:
function myFunc <T> (data: T): T {
console.log(data.length); // fejl
return data;
}
Fejlen opstår fordi ikke alle typer har en længde. For eksempel er det umuligt for boolske værdier. Men hvis vi præciserer typen og angiver den som et array, vill koden fungere korrekt. For hvert array, uanset hvilken type det er, har en længde:
function myFunc <T> (data: T[]): T[] {
console.log(data.length); // 3
return data;
}
console.log(myFunc([1, 3, 5])); // [ 1, 3, 5 ]
Skriv en funktion til at gennemgå og udskrive alle elementer i et array af generisk type til konsollen.