Vispārinātie tipa mainīgie TypeScript
Kad mēs izveidojam vispārināta tipa funkciju, TypeScript piespiež mūs pareizi izmantot tipa mainīgos tās pamattekstā. Tāpēc ir jāapsver katra funkcijā padotā parametra darbība no visu mums pieejamo tipu viedokļa.
Izveidosim funkciju, lai noteiktu vispārināta tipa mainīgā garumu:
function myFunc <T> (data: T): T {
console.log(data.length); // kļūda
return data;
}
Kļūda rodas tāpēc, ka ne visiem tiem ir garums. Piemēram, Būla vērtībām šāda darbība nav iespējama. Tomēr ja mēs precizēsim tipu un norādīsim to kā masīvu, tad kods darbosies pareizi. Galu galā katram masīvam, neatkarīgi no tā, kāda tipa tas ir, ir garums:
function myFunc <T> (data: T[]): T[] {
console.log(data.length); // 3
return data;
}
console.log(myFunc([1, 3, 5])); // [ 1, 3, 5 ]
Uzrakstiet funkciju, lai izietu cauri un izvadītu visus vispārināta tipa masīva elementus konsole.