Middle+
Čo je to type guard?
sobes.tech AI
Odpoveď od AI
Type guard — je mechanizmus v TypeScript, ktorý umožňuje upresniť typ premennej v určitom bloku kódu, aby s týmto typom mohol kompilátor bezpečne pracovať. Type guard — je funkcia alebo výraz, ktorý kontroluje, či objekt zodpovedá určitému typu.
Príklad type guard s použitím vlastnej funkcie:
interface Mačka {
meow(): void;
}
interface Pes {
bark(): void;
}
function isMačka(zvieratko: Mačka | Pes): zvieratko is Mačka {
return (zvieratko as Mačka).meow !== undefined;
}
function rozprávať(zvieratko: Mačka | Pes) {
if (isMačka(zvieratko)) {
zveratko.meow(); // TypeScript vie, že je to Mačka
} else {
zveratko.bark(); // Tu je Pes
}
}
Týmto spôsobom pomáha type guard bezpečne pracovať s zjednotenými typmi, upresňuje ich v rámci podmienkových štruktúr.