Obecné typové proměnné v TypeScript
Když vytváříme funkci obecného typu, TypeScript nás nutí ke správnému použití typových proměnných v jejím těle. Proto je třeba uvažovat chování každého parametru předávaného do funkce z hlediska všech nám dostupných typů.
Vytvořme funkci pro určení délky proměnné obecného typu:
function myFunc <T> (data: T): T {
console.log(data.length); // chyba
return data;
}
Chyba nastává protože ne všechny typy mají délku. Například u booleovských hodnot je taková akce nemožná. Avšak pokud upřesníme typ a určíme jej jako pole, kód bude fungovat správně. Vždyť každé pole, bez ohledu na jeho typ, má délku:
function myFunc <T> (data: T[]): T[] {
console.log(data.length); // 3
return data;
}
console.log(myFunc([1, 3, 5])); // [ 1, 3, 5 ]
Napište funkci pro iteraci a výpis všech prvků pole obecného typu do konzole.