Middle
Kas ir ģenēriskie medikamenti?
sobes.tech AI
Atbilde no AI
TypeScript ģeneriki ļauj izveidot komponentus (funkcijas, klases, saskarnes), kas var strādāt ar dažādiem datu tipiem, vienlaikus saglabājot tipu drošību. Tie ļauj rakstīt elastīgāku un atkārtoti izmantojamu kodu, nezaudējot statiskās tipēšanas priekšrocības. Vienkāršākais piemērs ir ģeneriku izmantošana funkcijās, lai atgrieztu to pašu tipu, kas tika nodots kā arguments.
// Funkcija, kas pieņem jebkura tipa argumentu un atgriež to
function identity<T>(arg: T): T {
return arg;
}
// Izmantošana ar konkrētu tipu – string
let outputString = identity<string>("rinda"); // outputString tips būs string
// Izmantošana ar automātisku tipu – number
let outputNumber = identity(123); // outputNumber tips būs number
Ģenerikus var izmantot arī klasēs:
// Klase, kas strādā ar jebkura tipa elementiem
class GenericBox<T> {
value: T;
constructor(initialValue: T) {
this.value = initialValue;
}
}
// Izveidot GenericBox ar string tipu
let stringBox = new GenericBox<string>("sveiki");
// Izveidot GenericBox ar boolean tipu
let booleanBox = new GenericBox(true); // TypeScript izvadīs tipu
Un saskarnēs:
// Ģeneriku saskarne
interface KeyValuePair<K, V> {
key: K;
value: V;
}
// Izmantošana ar konkrētiem tipiem
let stringNumberPair: KeyValuePair<string, number> = { key: "vecums", value: 30 };
Ģeneriku priekšrocības:
- Koda atkārtota izmantošana: Vienu struktūru var izmantot ar dažādiem datu tipiem.
- Tipu drošība: Kompilators pārbauda tipus, novēršot potenciālas kļūdas.
- Lasāmība un uzturēšana: Kods kļūst skaidrāks, jo ir skaidri redzams, ar kādiem tipiem strādā komponenti.
Ģeneriki bieži tiek izmantoti bibliotēkās un rāmjos, piemēram, React (prop tipu tipizācijai), Redux (glabāšanas tipu tipizācijai), kā arī darbā ar datu kolekcijām.