Что такое сужение типа?

JuniorTypeScript · Frontend·Обновлено 16 июня 2026
Коротко
Это уточнение union-типа через проверки, после которых TypeScript знает более конкретный тип.

Это уточнение union-типа через проверки, после которых TypeScript знает более конкретный тип.

Сильный ответ должен раскрыть: typeof; in; discriminant; control flow analysis.

Важно не допустить типичные ошибки: делать cast вместо проверки; не учитывать null; путать narrowing с преобразованием данных.

Что хочет услышать интервьюер

`typeof`

`in`

discriminant

control flow analysis

Пример: TypeScript example

if ('email' in user) { user.email; }

Типичные ошибки

делать cast вместо проверки

не учитывать null

путать narrowing с преобразованием данных

Лучшие курсы по теме

изображение курса

TypeScript с нуля

Антон Ларичев
AI-тренажерыAI-тренажеры
Практика в студииПрактика в студии
Гарантия
Бонусы
иконка звёздочки рейтинга4.8
3 999 ₽ 6 990 ₽
Подробнее
изображение курса

Feature-Sliced Design

Антон Ларичев
AI-тренажерыAI-тренажеры
Практика в студииПрактика в студии
Гарантия
Бонусы
иконка звёздочки рейтинга4.5
3 999 ₽ 6 990 ₽
Подробнее
изображение курса

Next.js - с нуля

Антон Ларичев
AI-тренажерыAI-тренажеры
Практика в студииПрактика в студии
Гарантия
Бонусы
иконка звёздочки рейтинга4.7
3 999 ₽ 6 990 ₽
Подробнее