Sobes.tech
Middle+

Ce este un type guard?

sobes.tech AI

Răspuns de la AI

Type guard — este un mecanism în TypeScript care permite clarificarea tipului unei variabile într-un anumit bloc de cod, astfel încât compilatorul să poată lucra în siguranță cu acel tip. Type guard — este o funcție sau o expresie care verifică dacă un obiect corespunde unui anumit tip.

Exemplu de type guard folosind o funcție personalizată:

interface Pisică {
  meow(): void;
}

interface Câine {
  bark(): void;
}

function isPisică(animal: Pisică | Câine): animal is Pisică {
  return (animal as Pisică).meow !== undefined;
}

function vorbește(animal: Pisică | Câine) {
  if (isPisică(animal)) {
    animal.meow(); // TypeScript știe că este o Pisică
  } else {
    animal.bark(); // Aici este un Câine
  }
}

Astfel, type guard ajută la lucrul sigur cu tipuri unite, clarificându-le în interiorul structurilor condiționale.