0Pricing
TypeScript Academy · Урок

Перечисления

Узнайте, как использовать перечисления для большей понятности кода

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

Перечисления

Перечисления

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

Перечисления — иллюстрация 1

Что такое перечисления?

Что такое перечисления?

Перечисление — это тип данных, который позволяет определить набор именованных констант. Перечисления используются для объединения связанных значений, благодаря чему код становится более организованным и менее подверженным ошибкам.

Пример: дни недели можно представить с помощью перечисления Days:

Задание: создайте перечисление для месяцев года и выведите в консоль несколько значений.

enum Days {
  Monday,
  Tuesday,
  Wednesday,
  Thursday,
  Friday,
  Saturday,
  Sunday,
}

console.log(Days.Monday); // Output: 0
console.log(Days.Friday); // Output: 4

Числовые перечисления

Числовые перечисления

Перечисления в TypeScript по умолчанию являются числовыми и начинаются с 0. При необходимости членам перечисления можно назначить собственные значения:

Задание: определите перечисление для ролей пользователей, например «Администратор», «Редактор» и «Наблюдатель», с собственными числовыми значениями.

enum Status {
  Active = 1,
  Inactive = 2,
  Pending = 3,
}

console.log(Status.Active); // Output: 1
console.log(Status.Pending); // Output: 3

Обратное отображение

Обратное отображение

Перечисления TypeScript поддерживают обратное отображение, позволяющее получить имя члена перечисления по его значению:

Задание: поэкспериментируйте с обратным отображением, используя собственное перечисление.

enum Colors {
  Red = 1,
  Green,
  Blue,
}

console.log(Colors[1]); // Output: "Red"
console.log(Colors[2]); // Output: "Green"

Строковые перечисления

Строковые перечисления

TypeScript также поддерживает строковые перечисления, в которых каждому члену перечисления присваивается строковое значение:

Задание: создайте строковое перечисление для основных цветов, например «Красный», «Зелёный» и «Синий».

enum Directions {
  Up = "UP",
  Down = "DOWN",
  Left = "LEFT",
  Right = "RIGHT",
}

console.log(Directions.Up); // Output: "UP"
console.log(Directions.Left); // Output: "LEFT"

Разнородные перечисления

Разнородные перечисления

Перечисление может содержать как числовые, так и строковые значения, но обычно такой подход не рекомендуется ради единообразия:

Задание: определите смешанное перечисление и изучите его поведение в редакторе.

enum Mixed {
  Yes = 1,
  No = "NO",
}

console.log(Mixed.Yes); // Output: 1
console.log(Mixed.No); // Output: "NO"

Использование перечислений в функциях

Использование перечислений в функциях

Перечисления отлично подходят для управления ходом выполнения кода. Пример:

Задание: напишите функцию, которая принимает перечисление в качестве параметра и возвращает сообщение.

enum Status {
  Active,
  Inactive,
  Pending,
}

function checkStatus(status: Status): string {
  switch (status) {
    case Status.Active:
      return "The status is active.";
    case Status.Inactive:
      return "The status is inactive.";
    case Status.Pending:
      return "The status is pending.";
    default:
      return "Unknown status.";
  }
}

console.log(checkStatus(Status.Active)); // Output: "The status is active."

Распространённые ошибки

Распространённые ошибки

Вот несколько распространённых ошибок при использовании перечислений:

  • Использование числовых перечислений, когда строковые сделали бы код понятнее.
  • Смешивание числовых и строковых значений в одном перечислении.
  • Неиспользование перечислений для значений, которым могли бы быть полезны именованные константы.

Совет: выбирайте подходящий тип перечисления — числовой или строковый — в зависимости от конкретной задачи.

enum Fruits {
  Apple = 1,
  Banana,
  Cherry,
}

console.log(Fruits.Banana);

Отличная работа!

Отличная работа!

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

Перечисления — иллюстрация 10

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

Урок «Перечисления» бесплатный?

Да — полный текст урока «Перечисления» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс TypeScript Academy, подпишись на CoddyKit PRO. Курс TypeScript Academy содержит 4 уроков всего.

Чему я научусь в уроке «Перечисления»?

Узнайте, как использовать перечисления для большей понятности кода Ты практикуешь TypeScript Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать TypeScript Academy?

Предыдущий опыт не требуется. TypeScript Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Перечисления»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке TypeScript Academy?

Да. Каждый урок TypeScript Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

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

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