Встречается на собеседованиях • сегодня

Что такое Type Guards

Type Guards — это механизм в TypeScript, позволяющий сужать типы переменных внутри условных блоков. Они помогают TypeScript корректно выводить тип на основе проверок во время выполнения.

Примеры Type Guards:

  1. typeof:
typescript
function log(value: string | number) {
  if (typeof value === 'string') {
    console.log(value.toUpperCase()); // TypeScript знает, что value — строка
  } else {
    console.log(value.toFixed(2)); // TypeScript знает, что value — число
  }
}
  1. instanceof:
typescript
class Cat { meow() {} }
class Dog { bark() {} }

function sound(animal: Cat | Dog) {
  if (animal instanceof Cat) {
    animal.meow();
  } else {
    animal.bark();
  }
}
  1. Пользовательские Type Guards (функции с предикатом типа):
typescript
function isString(value: any): value is string {
  return typeof value === 'string';
}

Type Guards особенно полезны при работе с union-типами, помогая TypeScript понимать конкретный тип в разных ветках кода.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы