Koncept generics in TypeScript
je výkonná funkce, která zvyšuje flexibilitu kódu a podporuje opětovné použití kódu. Generics nám umožňují definovat flexibilní type-agnostic
datové typy v metodách, třídách a rozhraních. To nám umožňuje psát metody a třídy, které mohou pracovat s více datovými typy.
Mezi výhody generics in TypeScript
patří:
Opětovné použití kódu
Generics nám umožňují napsat kód jednou a znovu jej použít pro různé datové typy. Místo psaní více podobných metod nebo tříd pro každý konkrétní datový typ můžeme použít generics k vytvoření obecného kódu, který lze znovu použít pro více datových typů.
Statická kontrola typu
Generics umožňují TypeScript provádět statickou kontrolu typu, zajišťující přesnost a předcházení chybám při použití nesprávných datových typů. To nám pomáhá rychle identifikovat a bezpečně opravit chyby.
Zvýšená flexibilita kódu
Generics rozšířit možnosti metod, tříd a rozhraní pro práci s různými datovými typy. Dokážeme vytvořit flexibilnější a rozmanitější datové struktury, neomezené konkrétním datovým typem.
Příklad:
function reverse<T>(array: T[]): T[] {
return array.reverse();
}
const numbers = [1, 2, 3, 4, 5];
const reversedNumbers = reverse(numbers);
console.log(reversedNumbers); // Output: [5, 4, 3, 2, 1]
const strings = ["apple", "banana", "orange"];
const reversedStrings = reverse(strings);
console.log(reversedStrings); // Output: ["orange", "banana", "apple"]
Ve výše uvedeném příkladu používáme generics k napsání reverse
funkce, která může pracovat s polem libovolného datového typu. Tuto funkci můžeme znovu použít jak pro pole čísel, tak pro pole řetězců, při zachování statické kontroly typu.
Stručně řečeno, koncept generics in TypeScript
zvyšuje flexibilitu kódu a umožňuje opětovné použití kódu. Umožňuje nám psát obecný kód, který může pracovat s více datovými typy, čímž podporuje flexibilitu, bezpečnost typů a efektivitu kódu.