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:

typescriptfunction 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:

typescriptfunction myFunc <T> (data: T[]): T[] {
  console.log(data.length); // 3
  return data;
}

console.log(myFunc([1, 3, 5])); // [ 1, 3, 5 ]
Задание 1

Napíšte funkciu na prechádzanie a výpis všetkých prvkov poľa všeobecného typu do konzoly.