Enums TypeScript
Một enum là một "lớp" đặc biệt đại diện cho một nhóm các hằng số (các biến không thể thay đổi).
Enums có hai loại là string
và numeric
. Hãy bắt đầu bằng số.
Enums số - Mặc định
Theo mặc định, enums sẽ khởi tạo giá trị đầu tiên thành 0
và thêm 1 vào mỗi giá trị bổ sung:
Ví dụ
enum CardinalDirections {
North,
East,
South,
West
}
let currentDirection = CardinalDirections.North;
// logs 0
console.log(currentDirection);
// throws error as 'North' is not a valid enum
currentDirection = 'North'; // Error: "North" is not assignable to type 'CardinalDirections'.
Hãy tự mình thử »Enums số - Đã khởi tạo
Bạn có thể đặt giá trị của enum số đầu tiên và tự động tăng giá trị từ đó:
Ví dụ
enum CardinalDirections {
North = 1,
East,
South,
West
}
// logs 1
console.log(CardinalDirections.North);
// logs 4
console.log(CardinalDirections.West);
Hãy tự mình thử »Enums số - Được khởi tạo đầy đủ
Bạn có thể chỉ định các giá trị số duy nhất cho mỗi giá trị enum. Sau đó, các giá trị sẽ không tự động tăng lên:
Ví dụ
enum StatusCodes {
NotFound = 404,
Success = 200,
Accepted = 202,
BadRequest = 400
}
// logs 404
console.log(StatusCodes.NotFound);
// logs 200
console.log(StatusCodes.Success);
Hãy tự mình thử » Được chứng nhận!
$45 ĐĂNG KÝ
Enum chuỗi
Enums cũng có thể chứa strings
. Điều này phổ biến hơn enum số vì tính dễ đọc và mục đích của chúng.
Ví dụ
enum CardinalDirections {
North = 'North',
East = "East",
South = "South",
West = "West"
};
// logs "North"
console.log(CardinalDirections.North);
// logs "West"
console.log(CardinalDirections.West);
Hãy tự mình thử »Về mặt kỹ thuật, bạn có thể trộn và khớp các giá trị enum chuỗi và số, nhưng không nên làm như vậy.