TypeScript — это мощная расширенная версия JavaScript, которая привносит в язык статическую типизацию и дополнительные функции. Одна из функций, предоставляемых TypeScript, — это перечисления, сокращение от «перечисления». Перечисления позволяют вам определять набор именованных констант, что делает ваш код более читабельным, удобным в сопровождении и типобезопасным. В этой статье мы подробно рассмотрим перечисления TypeScript и предоставим вам различные методы использования их возможностей в вашем коде.
- Основные объявления перечислений:
Давайте начнем с основ. Объявления перечислений в TypeScript просты. Вы определяете перечисление с помощью ключевого слова enum
, за которым следует имя перечисления, а затем перечисляете возможные значения в фигурных скобках.
enum Direction {
North,
South,
East,
West,
}
В этом примере мы определили перечисление под названием Direction
с четырьмя возможными значениями: North
, South
, East
и West
.
- Присвоение пользовательских значений:
По умолчанию TypeScript присваивает членам перечисления числовые значения, начиная с нуля. Однако вы можете явно присвоить пользовательские значения членам перечисления.
enum StatusCode {
OK = 200,
BAD_REQUEST = 400,
UNAUTHORIZED = 401,
NOT_FOUND = 404,
}
В этом примере мы присвоили пользовательские числовые значения членам перечисления StatusCode
.
- Доступ к значениям перечисления:
Вы можете получить доступ к значениям перечисления, используя точечную запись. TypeScript автоматически генерирует обратное сопоставление значений с именами, что позволяет получить имя члена перечисления на основе его значения.
const direction = Direction.North;
console.log(direction); // Output: 0
const statusCodeName = StatusCode[200];
console.log(statusCodeName); // Output: "OK"
- Перебор членов перечисления:
Если вам нужно перебрать все члены перечисления, вы можете использовать цикл for...in
.
for (const direction in Direction) {
console.log(direction); // Output: "North", "South", "East", "West"
}
- Безопасность типов с перечислениями:
Одним из существенных преимуществ использования перечислений в TypeScript является безопасность типов. Перечисления позволяют определить определенный набор допустимых значений, что помогает выявить ошибки на ранних этапах разработки.
function move(direction: Direction) {
// ...
}
move(Direction.North); // Valid
move("Up"); // Error: Argument of type '"Up"' is not assignable to parameter of type 'Direction'
- Перечисления со строковыми значениями:
Перечисления не ограничиваются числовыми значениями; они также могут иметь строковые значения.
enum Color {
Red = "RED",
Green = "GREEN",
Blue = "BLUE",
}
В этом примере мы определили перечисление Color
со строковыми значениями.
Перечисления TypeScript — мощный инструмент для организации и упрощения кода. Они позволяют определить набор именованных констант, что делает ваш код более читабельным и удобным в сопровождении. Благодаря возможности назначать собственные значения, получать доступ к значениям перечислений и обеспечивать безопасность типов, перечисления являются ценным дополнением к вашим проектам TypeScript.
Освоив перечисления TypeScript, вы улучшите свой опыт программирования и улучшите общее качество своей кодовой базы.