Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про TypeScript: type, guard

Что такое Type Guard и зачем он нужен

Вопрос проверяет понимание сужения типов (type narrowing) и безопасной работы с union-типами.

Короткий ответ

Type Guard — это проверка, которая позволяет TypeScript точно определить тип значения в конкретной ветке кода. Он используется при работе с union-типами, когда поведение зависит от реального типа данных. Type Guard делает код безопаснее и избавляет от лишних проверок и приведения типов. Он может быть встроенным или пользовательским.

Длинный ответ

Определение

Type Guard — это выражение или функция, которая сужает тип значения в определённой области видимости.

Встроенные Type Guard

  1. typeof

  2. instanceof

  3. Проверка по свойству

Пример:

function print(value: string | number) {
  if (typeof value === 'string') {
    value.toUpperCase();
  }
}

Пользовательский Type Guard

type User = { name: string };
type Admin = { name: string; role: string };

function isAdmin(user: User | Admin): user is Admin {
  return 'role' in user;
}

Использование:

if (isAdmin(u)) {
  u.role;
}

Зачем они нужны

  1. Безопасная работа с union-типами

  2. Читаемый код без as

  3. Защита от runtime-ошибок

Вывод

Type Guard — ключевой инструмент TypeScript для безопасной логики, когда тип значения определяется во время выполнения.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    5

  • Сложность:

    7

Навыки

  • TypeScript

    TypeScript

Ключевые слова

#type

#guard

Подпишись на React Developer в телеграм

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию