Typescript Enum - упорядоченное перечисление значений
TypeScript enum - это именованный набор константных значений, которые могут быть использованы в коде вместо литералов. Он позволяет создавать явную связь между значениями и их смыслом, добавляет читабельность и поддерживаемость кода.
Для создания enum в TypeScript используется ключевое слово `enum`. Предположим, мы хотим создать enum, который будет содержать дни недели:
enum DayOfWeek {
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
}
Значения по умолчанию начинаются с 0 и инкрементируются на 1 для каждого последующего элемента. Каждому элементу можно явно присвоить значение, например:
enum DayOfWeek {
Monday = 1,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
}
Теперь, если мы хотим использовать значение из enum, мы можем обратиться к нему по имени:
const day: DayOfWeek = DayOfWeek.Monday;
console.log(day); // 1
Enum также может быть использован в качестве типа, например, в функциях:
function isWeekend(day: DayOfWeek) {
return day === DayOfWeek.Saturday || day === DayOfWeek.Sunday;
}
console.log(isWeekend(DayOfWeek.Saturday)); // true
console.log(isWeekend(DayOfWeek.Monday)); // false
В TypeScript enum можно использовать через ключевые слова `const` и `as const`, для того, чтобы enum стал неизменяемым:
const enum DayOfWeek {
Monday = 1,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
}
function printDay(day: DayOfWeek) {
console.log(day);
}
printDay(DayOfWeek.Tuesday); // 2
Таким образом, TypeScript enum предоставляет удобный способ определения константных значений с читаемыми именами, обеспечивает типы и проверки во время компиляции, улучшает читаемость кода и повышает его поддерживаемость.