0Pricing
TypeScript Academy · Урок

Литеральные типы

Используйте точные значения в качестве типов в TypeScript

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

Литеральные типы

Литеральные типы

Добро пожаловать на следующий урок! На этом уроке Вы узнаете о литеральных типах — возможности TypeScript, позволяющей задавать для переменных точные конкретные значения. Благодаря этому код становится более предсказуемым и типобезопасным. Давайте разберёмся!

Литеральные типы — иллюстрация 1

Что такое литеральные типы?

Что такое литеральные типы?

Литеральные типы в 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 для работы с функциями. Продолжайте программировать!

Литеральные типы — иллюстрация 10

Часто задаваемые вопросы

Урок «Литеральные типы» бесплатный?

Да — полный текст урока «Литеральные типы» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 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 — локальная установка не требуется.

Все уроки этого курса

  1. Массивы и кортежи
  2. Объединения и пересечения типов
  3. Перечисления
  4. Литеральные типы
← Назад к TypeScript Academy