TypeScripti generiilised tüübi muutujad

Kui loome generiilse tüübi funktsiooni, sunnib TypeScript meid õigesti kasutama tüübi muutujaid selle kehas. Seetõttu tuleb käsitleda iga funktsiooni edastatava parameetri käitumist kõigile meile kättesaadavatele tüüpidele.

Loome funktsiooni generiilse tüübi muutuja pikkuse määramiseks:

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

Viga tekib seetõttu, et mitte kõigil tüüpidel pole pikkust. Näiteks boole'i väärtuste puhul on selline tegevus võimatu. Kui me aga täpsustame tüüpi ja märgime selle massiivina, siis kood töötab korrektselt. Igal massiivil, olenemata selle tüübist, on pikkus:

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

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

Kirjutage funktsioon generiilse tüübi massiivi kõigi elementide läbimiseks ja väljastamiseks konsooli.