TypeScript Переліки - Enum
Enum (з анг. – перелік) – це спеціальний "клас", який представляє групу констант (незмінних змінних).
Переліки бувають двох видів: string
і numeric
. Почнемо з numeric
(числового).
Числові переліки – за замовчуванням
За замовчуванням переліки ініціалізують перше значення 0
і додають 1 до кожного додаткового значення:
Приклад
enum CardinalDirections {
North,
East,
South,
West
}
let currentDirection = CardinalDirections.North;
// logs 0
console.log(currentDirection);
// видає помилку, оскільки 'North' не є дійсним переліком
currentDirection = 'North'; // Помилка: 'North' не можна призначити типу 'CardinalDirections'.
Спробуйте самі »
Числові переліки – ініціалізовані
Ви можете встановити значення першого числового переліку та автоматично збільшувати його значення:
Приклад
enum CardinalDirections {
North = 1,
East,
South,
West
}
// logs 1
console.log(CardinalDirections.North);
// logs 4
console.log(CardinalDirections.West);
Спробуйте самі »
Числові переліки – повністю ініціалізовані
Ви можете призначити унікальні числові значення для кожного значення enum. Тоді значення не будуть збільшуватися автоматично:
Приклад
enum StatusCodes {
NotFound = 404,
Success = 200,
Accepted = 202,
BadRequest = 400
}
// logs 404
console.log(StatusCodes.NotFound);
// logs 200
console.log(StatusCodes.Success);
Спробуйте самі »
Рядкові переліки
Переліки також можуть містити string
(рядки). Це більш поширено, ніж числові переліки, через їхню читабельність і призначення.
Приклад
enum CardinalDirections {
North = 'North',
East = "East",
South = "South",
West = "West"
};
// logs "North"
console.log(CardinalDirections.North);
// logs "West"
console.log(CardinalDirections.West);
Спробуйте самі »
Технічно ви можете змішувати та зіставляти рядкові та числові значення enum, але не рекомендується цього робити.