Основы Typescript
Теория: Перечисления
В этом уроке мы познакомимся с перечислением. Такая конструкция языка позволяет создать набор имен, а затем обращаться к ним.
Использование перечислений
Перечисления используют вместо строк для постоянных значений:
Самый распространенный пример использования перечислений — хранение разных статусов. Но есть и другие случаи. Например, с их помощью легко и удобно хранить и обращаться к различным справочным данным:
- Направления движения
- Стороны света
- Дни недели
- Месяцы
Перечисление — это и значение, и тип. Его можно указывать как тип в параметрах функции:
Также перечисления после компиляции превращаются в JavaScript-объект, в котором каждому значению соответствует свойство. У этого свойства есть тип number и начинается он с 0:
Это позволяет удобно использовать стандартные методы — например, Object.keys и Object.values:
Среди ключей мы видим числа '0', '1', '2', '3'. Компилятор создает такие числовые ключи автоматически, а созданный объект выглядит так:
Но можно избавиться от создания дополнительных ключей, если указать строковые значения:
Зачем нужны перечисления
Использование enum позволяет коду быть более читаемым и поддерживаемым, так как вместо магических чисел или строк используются ясные и понятные имена. Кроме того это позволяет избежать некоторых ошибок. Рассмотрим на примере.
Возьмем ситуацию, когда нам нужно описать разные уровни доступа пользователя в системе.
Без использования enum это могло бы выглядеть так:
С использованием enum код становится более структурированным и понятным:
В этом примере AccessLevel является enum, который определяет три возможных уровня доступа. При использовании значения enum TypeScript обеспечивает автодополнение и проверку типов, что делает код более безопасным и удобным для разработки.
Выводы
В этом уроке мы узнали, как и зачем используется перечисление. Также мы разобрали, что его можно указывать как тип в параметрах функции.



