HTML Diff
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>