👩‍💻 Enums

В предыдущем посте речь шла о фундаментальном видео по typescript. Судя по вашей реакции, материал оказался полезным. Давайте закрепим некоторые темы вместе. Начнем мы с Enums (перечисления)

Перечисления полезны для представления фиксированного набора значений, таких как дни недели, статусы заказа, направления движения или любого другого процесса, где требуется перечисление статичных данных. Перечисление позволяет задать набор возможных значений, которые могут использоваться в вашем коде, обеспечивая читаемость и безопасность типов.

Перечисление объявляется с помощью ключевого слова enum, за которым следует имя перечисления и список членов внутри фигурных скобок:

`enum Direction { Up, Down, Left, Right }

По умолчанию каждому члену перечисления присваивается числовое значение, начиная с нуля. В приведённом примере:

  • Direction.Up имеет значение 0
  • Direction.Down имеет значение 1
  • Direction.Left имеет значение 2
  • Direction.Right имеет значение 3

Но можно также явно указать значения:

`enum StatusCode { OK = 200, NotFound = 404, InternalServerError = 500 }

Теперь:

  • StatusCode.OK имеет значение 200
  • StatusCode.NotFound имеет значение 404
  • StatusCode.InternalServerError имеет значение 500

Как использовать?

Перечисления удобно использовать там, где требуется зафиксировать ограниченный набор допустимых значений:

function move(direction: Direction) { switch (direction) { case Direction.Up: console.log('Moving up'); break; case Direction.Down: console.log('Moving down'); break; case Direction.Left: console.log('Moving left'); break; case Direction.Right: console.log('Moving right'); break; } }

move(Direction.Up); // Output: Moving up

TypeScript поддерживает также строковые перечисления, где члены имеют строковые значения:

enum Color { Red = "RED", Green = "GREEN", Blue = "BLUE" }

console.log(Color.Red); // Output: RED

Можно комбинировать числовые и строковые значения в одном перечислении:

`enum MixedEnum { A = 1, B = "B", C = 2 }

console.log(MixedEnum.A); // Output: 1 console.log(MixedEnum.B); // Output: B console.log(MixedEnum.C); // Output: 2

Особенностью перечислений является возможность обратного преобразования от значения к имени перечисления:

enum Weekday { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday }

console.log(Weekday[0]); // Output: Monday console.log(Weekday[6]); // Output: Sunday

Константы и вычисляемые члены

Начиная с версии TypeScript 2.4, можно использовать вычисляемые члены в перечислениях: `enum FileSize { KB = 1024, MB = KB * 1024, GB = MB * 1024 }

console.log(FileSize.KB); // Output: 1024 console.log(FileSize.MB); // Output: 1048576 console.log(FileSize.GB); // Output: 1073741824````

👩‍💻 Enums
В предыдущем посте речь шла о фундаментальном видео по typescript. Судя по вашей реакции, материал оказался полезным. Давайте закрепим некоторые темы вместе | Сетка — социальная сеть от hh.ru