Middle+
13
Что такое type guard?
Компании, где спрашивали
М.Видео/эльдорадо
Ответ от нейросети
sobes.tech AI
Type guard — это механизм в TypeScript, который позволяет уточнить тип переменной в определённом блоке кода, чтобы компилятор мог безопасно работать с этим типом. Type guard — это функция или выражение, которое проверяет, соответствует ли объект определённому типу.
Пример type guard с использованием пользовательской функции:
interface Cat {
meow(): void;
}
interface Dog {
bark(): void;
}
function isCat(animal: Cat | Dog): animal is Cat {
return (animal as Cat).meow !== undefined;
}
function speak(animal: Cat | Dog) {
if (isCat(animal)) {
animal.meow(); // TypeScript знает, что это Cat
} else {
animal.bark(); // Здесь это Dog
}
}
Таким образом, type guard помогает безопасно работать с объединёнными типами, уточняя их внутри условных конструкций.