Ответ
Литеральные типы в TypeScript позволяют указывать конкретные значения переменных или свойств. Они сужают тип до определённого значения, а не диапазона.
type Direction = 'left' | 'right' | 'up' | 'down';
let move: Direction = 'left'; // корректно
move = 'diagonal'; // ошибка, такого значения нет в типе
Используются для:
- Ограничения возможных значений (например, статусы, направления)
- Создания перечислений без
enum
- Уточнения возвращаемых значений функций
Особенности:
- Могут быть строковыми, числовыми или булевыми
- Часто комбинируются с union-типами
- Позволяют TypeScript точнее проверять код