Middle+
O que é uma guarda de tipo?
sobes.tech IA
Resposta da IA
Type guard — é um mecanismo no TypeScript que permite esclarecer o tipo de uma variável numa determinada secção de código, para que o compilador possa trabalhar com esse tipo de forma segura. Type guard — é uma função ou expressão que verifica se um objeto corresponde a um tipo específico.
Exemplo de type guard usando uma função personalizada:
interface Gato {
meow(): void;
}
interface Cão {
bark(): void;
}
function isGato(animal: Gato | Cão): animal is Gato {
return (animal as Gato).meow !== undefined;
}
function speak(animal: Gato | Cão) {
if (isGato(animal)) {
animal.meow(); // TypeScript sabe que é um Gato
} else {
animal.bark(); // Aqui é um Cão
}
}
Assim, o type guard ajuda a trabalhar de forma segura com tipos unidos, esclarecendo-os dentro de estruturas condicionais.