Bendriniai tipų kintamieji TypeScript
Kai mes sukuriame bendrinio tipo funkciją, TypeScript verčia mus teisingai naudoti tipų kintamuosius jos kūne. Vadinasi, reikia nagrinėti kiekvieno į funkciją perduodamo parametro elgesį iš visų mums prieinamų tipų požiūriu.
Sukurkime funkciją bendrinio tipo kintamojo ilgiui nustatyti:
function myFunc <T> (data: T): T {
console.log(data.length); // klaida
return data;
}
Klaida atsiranda dėl to, kad ne visi tipai turi ilgį. Pavyzdžiui, loginėms reikšmėms toks veiksmas neįmanomas. Tačiau jei mes patikslinsime tipą ir nurodysime jį kaip masyvą, tada kodas veiks teisingai. Juk kiekvienas masyvas, nesvarbu kokio jis tipo, turi ilgį:
function myFunc <T> (data: T[]): T[] {
console.log(data.length); // 3
return data;
}
console.log(myFunc([1, 3, 5])); // [ 1, 3, 5 ]
Parašykite funkciją bendrinio tipo masyvo elementų iteravimui ir išvedimui į konsolę.