Yleiset tyyppimuuttujat TypeScriptissä
Kun luomme yleisen tyypin funktion, TypeScript pakottaa meidät käyttämään tyyppimuuttujia oikein sen rungossa. Siksi meidän on tarkasteltava jokaista funktioon välitettävän parametrin käyttäytymistä kaikkien käytettävissämme olevien tyyppien näkökulmasta.
Luodaan funktio yleisen tyypin muuttujan pituuden määrittämiseksi:
function myFunc <T> (data: T): T {
console.log(data.length); // virhe
return data;
}
Virhe johtuu siitä, että kaikilla tyypeillä ei ole pituutta. Esimerkiksi boolean- arvoille tällainen toiminto on mahdoton. Kuitenkin jos tarkennamme tyyppiä ja määritämme sen taulukoksi, koodi toimii oikein. Loppujen lopuksi jokaisella taulukolla, riippumatta sen tyypistä, on pituus:
function myFunc <T> (data: T[]): T[] {
console.log(data.length); // 3
return data;
}
console.log(myFunc([1, 3, 5])); // [ 1, 3, 5 ]
Kirjoita funktio yleisen tyypin taulukon kaikkien elementtien iterointia ja tulostamista konsoliin varten.