Литеральные типы
Используйте точные значения в качестве типов в TypeScript
«Литеральные типы» — бесплатный урок TypeScript Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения TypeScript Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс TypeScript Academy содержит 4 уроков всего.
Литеральные типы
Литеральные типы
Добро пожаловать на следующий урок! На этом уроке Вы узнаете о литеральных типах — возможности TypeScript, позволяющей задавать для переменных точные конкретные значения. Благодаря этому код становится более предсказуемым и типобезопасным. Давайте разберёмся!

Что такое литеральные типы?
Что такое литеральные типы?
Литеральные типы в TypeScript позволяют переменной хранить конкретное значение, а не просто значение общего типа, такого как строка или число. Например, можно ограничить переменную значением только "yes" или "no".
Пример:
Задание: объявите переменную с литеральным типом и присвойте ей допустимые и недопустимые значения.
let answer: "yes" | "no";
answer = "yes";
// Valid
// answer = "maybe";
// Error: Type '"maybe"' is not assignable to type '"yes" | "no"'.
Литеральные типы со строками
Литеральные типы со строками
Строковые литеральные типы ограничивают переменную определённым набором строковых значений. Пример:
Задание: создайте тип для направлений и присвойте значения переменной.
type Direction = "up" | "down" | "left" | "right";
let move: Direction;
move = "up"; // Valid
// move = "forward";
// Error: Type '"forward"' is not assignable to type '"up" | "down" | "left" | "right"'.
Литеральные типы с числами
Литеральные типы с числами
Литеральные типы можно использовать и с числами, чтобы ограничить переменную определённым набором числовых значений. Пример:
Задание: определите числовой литеральный тип для результатов броска кубика и проверьте его.
type DiceRoll = 1 | 2 | 3 | 4 | 5 | 6;
let roll: DiceRoll;
roll = 4; // Valid
// roll = 7;
// Error: Type '7' is not assignable to type '1 | 2 | 3 | 4 | 5 | 6'.
Литеральные типы в функциях
Литеральные типы в функциях
Литеральные типы можно использовать в параметрах функций, чтобы разрешить только определённые значения. Пример:
Задание: напишите функцию с параметром, использующим литеральные типы.
function setStatus(status: "active" | "inactive"): void {
console.log(`The status is now ${status}`);
}
setStatus("active");
// Output: The status is now active
// setStatus("pending");
// Error: Type '"pending"' is not assignable to type '"active" | "inactive"'.
Литеральные типы и псевдонимы типов
Литеральные типы и псевдонимы типов
Чтобы повторно использовать литеральные типы, можно определить их как псевдонимы типов. Пример:
Задание: создайте псевдоним типа для цветов светофора и используйте его в переменной.
type TrafficLight = "red" | "yellow" | "green";
let light: TrafficLight = "red";
console.log(light);
// Output: red
Использование литеральных типов с объектами
Использование литеральных типов с объектами
Литеральные типы можно использовать внутри объектов, чтобы ограничить значения определённых свойств. Пример:
Задание: создайте тип объекта со свойством, использующим литеральные типы.
type Button = {
label: string;
size: "small" | "medium" | "large";
};
let submitButton: Button = {
label: "Submit",
size: "medium",
};
console.log(submitButton);
Распространённые ошибки
Распространённые ошибки
Вот несколько распространённых ошибок при использовании литеральных типов:
- Забыть обновить все допустимые значения при изменении литерального типа.
- Присвоить значения, не входящие в литеральный тип (TypeScript обнаружит эту ошибку).
- Использовать литеральные типы для динамичных данных, когда гибкость важнее.
Совет: используйте литеральные типы для контролируемых и предсказуемых сценариев!
type Switch = "on" | "off";
let state: Switch;
state = "on";
state = "off";
Отличная работа!
Отличная работа!
Поздравляем! Вы научились использовать литеральные типы в TypeScript для определения точных и ограниченных значений. Литеральные типы особенно полезны при создании предсказуемого и типобезопасного кода. На следующем уроке мы рассмотрим поддержку TypeScript для работы с функциями. Продолжайте программировать!

Часто задаваемые вопросы
Урок «Литеральные типы» бесплатный?
Да — полный текст урока «Литеральные типы» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс TypeScript Academy, подпишись на CoddyKit PRO. Курс TypeScript Academy содержит 4 уроков всего.
Чему я научусь в уроке «Литеральные типы»?
Используйте точные значения в качестве типов в TypeScript Ты практикуешь TypeScript Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать TypeScript Academy?
Предыдущий опыт не требуется. TypeScript Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Литеральные типы»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке TypeScript Academy?
Да. Каждый урок TypeScript Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Массивы и кортежи
- Объединения и пересечения типов
- Перечисления
- Литеральные типы