Sobes.tech
Middle+

Mis on type guard?

sobes.tech AI

Vastus AI-lt

Type guard — on mehhanism TypeScriptis, mis võimaldab täpsustada muutuja tüüpi kindlas koodiplokis, et kompilaator saaks sellega turvaliselt töötada. Type guard — on funktsioon või väljend, mis kontrollib, kas objekt vastab kindlale tüübile.

Näide kasutades kohandatud funktsiooni kui type guard:

interface Kass {
  meow(): void;
}

interface Koer {
  bark(): void;
}

function isKass(loom: Kass | Koer): loom is Kass {
  return (loom as Kass).meow !== undefined;
}

function räägi(loom: Kass | Koer) {
  if (isKass(loom)) {
    loom.meow(); // TypeScript teab, et see on Kass
  } else {
    loom.bark(); // Siin on Koer
  }
}

Seega aitab type guard turvaliselt töötada ühendatud tüüpidega, täpsustades neid tingimusstruktuuride sees.