0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>В этом уроке мы познакомимся с перечислением. Такая конструкция языка позволяет создать набор имен, а затем обращаться к ним.</p>
1
<p>В этом уроке мы познакомимся с перечислением. Такая конструкция языка позволяет создать набор имен, а затем обращаться к ним.</p>
2
<h2>Использование перечислений</h2>
2
<h2>Использование перечислений</h2>
3
<p>Перечисления используют вместо строк для постоянных значений:</p>
3
<p>Перечисления используют вместо строк для постоянных значений:</p>
4
<p>Самый распространенный пример использования перечислений - хранение разных статусов. Но есть и другие случаи. Например, с их помощью легко и удобно хранить и обращаться к различным справочным данным:</p>
4
<p>Самый распространенный пример использования перечислений - хранение разных статусов. Но есть и другие случаи. Например, с их помощью легко и удобно хранить и обращаться к различным справочным данным:</p>
5
<ul><li>Направления движения</li>
5
<ul><li>Направления движения</li>
6
<li>Стороны света</li>
6
<li>Стороны света</li>
7
<li>Дни недели</li>
7
<li>Дни недели</li>
8
<li>Месяцы</li>
8
<li>Месяцы</li>
9
</ul><p>Перечисление - это и значение, и тип. Его можно указывать как тип в параметрах функции:</p>
9
</ul><p>Перечисление - это и значение, и тип. Его можно указывать как тип в параметрах функции:</p>
10
<p>Также перечисления после компиляции превращаются в JavaScript-объект, в котором каждому значению соответствует свойство. У этого свойства есть тип number и начинается он с 0:</p>
10
<p>Также перечисления после компиляции превращаются в JavaScript-объект, в котором каждому значению соответствует свойство. У этого свойства есть тип number и начинается он с 0:</p>
11
<p>Это позволяет удобно использовать стандартные методы - например, Object.keys и Object.values:</p>
11
<p>Это позволяет удобно использовать стандартные методы - например, Object.keys и Object.values:</p>
12
<p>Среди ключей мы видим числа '0', '1', '2', '3'. Компилятор создает такие числовые ключи автоматически, а созданный объект выглядит так:</p>
12
<p>Среди ключей мы видим числа '0', '1', '2', '3'. Компилятор создает такие числовые ключи автоматически, а созданный объект выглядит так:</p>
13
<p>Но можно избавиться от создания дополнительных ключей, если указать строковые значения:</p>
13
<p>Но можно избавиться от создания дополнительных ключей, если указать строковые значения:</p>
14
<h2>Зачем нужны перечисления</h2>
14
<h2>Зачем нужны перечисления</h2>
15
<p>Использование enum позволяет коду быть более читаемым и поддерживаемым, так как вместо магических чисел или строк используются ясные и понятные имена. Кроме того это позволяет избежать некоторых ошибок. Рассмотрим на примере.</p>
15
<p>Использование enum позволяет коду быть более читаемым и поддерживаемым, так как вместо магических чисел или строк используются ясные и понятные имена. Кроме того это позволяет избежать некоторых ошибок. Рассмотрим на примере.</p>
16
<p>Возьмем ситуацию, когда нам нужно описать разные уровни доступа пользователя в системе.</p>
16
<p>Возьмем ситуацию, когда нам нужно описать разные уровни доступа пользователя в системе.</p>
17
<p>Без использования enum это могло бы выглядеть так:</p>
17
<p>Без использования enum это могло бы выглядеть так:</p>
18
<p>С использованием enum код становится более структурированным и понятным:</p>
18
<p>С использованием enum код становится более структурированным и понятным:</p>
19
<p>В этом примере AccessLevel является enum, который определяет три возможных уровня доступа. При использовании значения enum TypeScript обеспечивает автодополнение и проверку типов, что делает код более безопасным и удобным для разработки.</p>
19
<p>В этом примере AccessLevel является enum, который определяет три возможных уровня доступа. При использовании значения enum TypeScript обеспечивает автодополнение и проверку типов, что делает код более безопасным и удобным для разработки.</p>
20
<h2>Выводы</h2>
20
<h2>Выводы</h2>
21
<p>В этом уроке мы узнали, как и зачем используется перечисление. Также мы разобрали, что его можно указывать как тип в параметрах функции.</p>
21
<p>В этом уроке мы узнали, как и зачем используется перечисление. Также мы разобрали, что его можно указывать как тип в параметрах функции.</p>