Menu
Coddy logo textTech

Гетерогенные перечисления

Часть раздела Введение в TypeScript путешествия по JavaScript на Coddy. Урок 55 из 73.

TypeScript также поддерживает гетерогенные перечисления — перечисления, содержащие сочетание строковых и числовых элементов в одном объявлении.

Вот как можно создать гетерогенный enum:

enum MixedEnum {
  No = 0,
  Yes = "YES",
  Maybe = 1
}

В этом примере No и Maybe являются числовыми членами, а Yes — строковым членом. TypeScript допускает такую гибкость, однако важно отметить, что гетерогенные перечисления редко используются на практике.

challenge icon

Задание

Легко

Create неоднородный enum с именем ResponseCode, который сочетает строковые и числовые значения:

  • Success, инициализированный значением 200
  • Error, инициализированный значением "ERROR"
  • NotFound, инициализированный значением 404
  • Timeout, инициализированный значением "TIMEOUT"

Create функцию с именем handleResponse, которая принимает один параметр:

  • code типа ResponseCode

Функция должна:

  • Проверять код ответа и Print разные сообщения в зависимости от значения
  • Если код равен ResponseCode.Success, Print "Request successful"
  • Если код равен ResponseCode.Error, Print "General error occurred"
  • Если код равен ResponseCode.NotFound, Print "Resource not found"
  • Если код равен ResponseCode.Timeout, Print "Request timed out"
  • Иметь тип возвращаемого значения void

Create четыре переменные, чтобы продемонстрировать значения enum:

  • successCode типа ResponseCode и присвоить ей ResponseCode.Success
  • errorCode типа ResponseCode и присвоить ей ResponseCode.Error
  • notFoundCode типа ResponseCode и присвоить ей ResponseCode.NotFound
  • timeoutCode типа ResponseCode и присвоить ей ResponseCode.Timeout

Выведите следующие результаты:

  • Выведите значение successCode
  • Выведите значение errorCode
  • Выведите значение notFoundCode
  • Выведите значение timeoutCode
  • Вызовите handleResponse с аргументом ResponseCode.Success
  • Вызовите handleResponse с аргументом errorCode
  • Вызовите handleResponse с числовым значением 404

Попробуйте сами

// TODO: Напишите ваш код здесь

// Создайте enum ResponseCode


// Создайте функцию handleResponse


// Создайте демонстрационные переменные


// Выведите требуемые результаты
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Введение в TypeScript

Потренируйтесь самостоятельно: Онлайн-компилятор JavaScript