Všeobecné typové premenné v TypeScript
Keď vytvoríme funkciu všeobecného typu, TypeScript nás núti správne používať typové premenné v jej tele. Preto musíme uvažovať o správaní každého parametra odovzdaného do funkcie z pohľadu všetkých dostupných typov.
Vytvorme funkciu na určenie dĺžky premennej všeobecného typu:
function myFunc <T> (data: T): T {
console.log(data.length); // chyba
return data;
}
Chyba nastáva preto, že nie všetky typy majú dĺžku. Napríklad pre booleovské hodnoty je takáto operácia nemožná. Avšak ak upresníme typ a určíme ho ako pole, kód bude fungovať správne. Veď každé pole, bez ohľadu na jeho typ, má dĺžku:
function myFunc <T> (data: T[]): T[] {
console.log(data.length); // 3
return data;
}
console.log(myFunc([1, 3, 5])); // [ 1, 3, 5 ]
Napíšte funkciu na prechádzanie a výpis všetkých prvkov poľa všeobecného typu do konzoly.