Generičke tipovske promenljive u TypeScript-u
Kada kreiramo funkciju generičkog tipa, TypeScript nas primorava na ispravno korišćenje tipovskih promenljivih u njenom telu. Shodno tome, treba da razmotrimo ponašanje svakog parametra koji se prosleđuje funkciji, s aspekta svih dostupnih tipova.
Hajde da kreiramo funkciju za određivanje dužine promenljive generičkog tipa:
function myFunc <T> (data: T): T {
console.log(data.length); // greška
return data;
}
Greška se javlja zato što nemaju svi tipovi dužinu. Na primer, za bulove vrednosti takva radnja je nemoguća. Međutim, ako preciziramo tip i označimo ga kao niz, onda će kod raditi ispravno. Uostalom, svaki niz, bez obzira na njegov tip, ima dužinu:
function myFunc <T> (data: T[]): T[] {
console.log(data.length); // 3
return data;
}
console.log(myFunc([1, 3, 5])); // [ 1, 3, 5 ]
Napišite funkciju za iteriranje i ispis svih elemenata niza generičkog tipa u konzolu.