Гетерогенные перечисления
Часть раздела Введение в TypeScript путешествия по JavaScript на Coddy. Урок 55 из 73.
TypeScript также поддерживает гетерогенные перечисления — перечисления, содержащие сочетание строковых и числовых элементов в одном объявлении.
Вот как можно создать гетерогенный enum:
enum MixedEnum {
No = 0,
Yes = "YES",
Maybe = 1
}В этом примере No и Maybe являются числовыми членами, а Yes — строковым членом. TypeScript допускает такую гибкость, однако важно отметить, что гетерогенные перечисления редко используются на практике.
Задание
ЛегкоCreate неоднородный enum с именем ResponseCode, который сочетает строковые и числовые значения:
Success, инициализированный значением200Error, инициализированный значением"ERROR"NotFound, инициализированный значением404Timeout, инициализированный значением"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.SuccesserrorCodeтипаResponseCodeи присвоить ейResponseCode.ErrornotFoundCodeтипаResponseCodeи присвоить ейResponseCode.NotFoundtimeoutCodeтипаResponseCodeи присвоить ейResponseCode.Timeout
Выведите следующие результаты:
- Выведите значение
successCode - Выведите значение
errorCode - Выведите значение
notFoundCode - Выведите значение
timeoutCode - Вызовите
handleResponseс аргументомResponseCode.Success - Вызовите
handleResponseс аргументомerrorCode - Вызовите
handleResponseс числовым значением404
Попробуйте сами
// TODO: Напишите ваш код здесь
// Создайте enum ResponseCode
// Создайте функцию handleResponse
// Создайте демонстрационные переменные
// Выведите требуемые результатыВ этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Введение в TypeScript
1Начало работы с TS
Что такое TypeScript?Зачем использовать TypeScript?Ваш первый код на TypeScriptПроцесс компиляции и ошибкиИтоги: Введение в TS4Работа с функциями
Типизация параметров и возвращаемых значенийТипизация стрелочных функцийТип возвращаемого значения 'void'Необязательные параметры с '?'Значения параметров по умолчаниюТипизация Rest-параметровОпределение типов функцийИтоги: Создание типизированных функций2Основные типы
Базовые типы: str, num, booleanТип 'any': лазейкаТип 'unknown'Работа с 'null' и 'undef'Вывод типов в действииЯвные аннотации типовИтоги: Практика по основным типам5Типы: псевдонимы, объединения и пересечения
Псевдонимы типов для примитивовТипы объединения ('|')Работа с типами объединенияЛитеральные типыТипы пересечения ('&')Комбинирование псевдонимов типовИтоги: продвинутые комбинации типов8Перечисления (Enums)
Что такое числовое перечисление?Использование числовых перечисленийЧто такое строковое перечисление?Использование строковых перечисленийГетерогенные перечисленияИтоги: использование перечислений3Структуры данных: массивы и кортежи
Типизированные массивыМодификатор 'readonly' для массивовЧто такое кортеж?Объявление кортежей и доступ к нимДеструктуризация кортежейКортежи readonlyМногомерные типизированные массивыОператор spread с массивамиИтоги: массивы и кортежиПотренируйтесь самостоятельно: Онлайн-компилятор JavaScript