Chào các bạn, hôm nay anh sẽ hướng dẫn mọi người về Enum là như thế nào?
Typescript cũng hỗ trợ Enum giống như Enum trong Java vậy. Enum cho phép chúng ta tạo một nhóm các giá trị hằng số trong một nơi chung.
Có 3 loại Enum là Numeric, String, Heterogeneous.
Chúng ta sử dụng từ khóa enum để tạo Enum.
1
2
3
4
5
6
enum PrintMedia {
Newspaper,
Newsletter,
Magazine,
Book
}
Các vị trí của enum được tính từ 0 và được tăng lên 1 đơn vị. Như vậy giá trị của Newspaper, Newsletter, Magazine, Book.
1
2
3
4
Newspaper = 0
Newsletter = 1
Magazine = 2
Book = 3
Enum luôn được gán giá trị là số khi chúng được lưu. Giá trị đầu tiên luôn là 0 và các giá trị tiếp theo là tăng lên 1.
Chúng ta có thể gán giá trị khởi tạo ban đầu cho Enum.
1
2
3
4
5
6
enum PrintMedia {
Newspaper = 1,
Newsletter,
Magazine,
Book
}
Như vậy giá trị Newspaper là 1, thì giá trị Newsletter là 2, Magazine là 3 và Book là 4. Nếu không gán giá trị thì mặc định là 0.
Chúng ta có thể trả về kết quả Enum trong function như sau:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
enum PrintMedia {
Newspaper = 1,
Newsletter,
Magazine,
Book
}
function getMedia(mediaName: string): PrintMedia {
if ( mediaName === 'Forbes' || mediaName === 'Outlook') {
return PrintMedia.Magazine;
}
}
let mediaType: PrintMedia = getMedia('Forbes'); // returns Magazine
Chúng ta có thể sử dụng String trong enum như sau:
1
2
3
4
5
6
7
8
9
enum PrintMedia {
Newspaper = "NEWSPAPER",
Newsletter = "NEWSLETTER",
Magazine = "MAGAZINE",
Book = "BOOK"
}
// Access String Enum
PrintMedia.Newspaper; //returns NEWSPAPER
PrintMedia['Magazine'];//returns MAGAZINE
Heterogeneous là có thể chứa chữ và số.
1
2
3
4
5
enum Status {
Active = 'ACTIVE',
Deactivate = 1,
Pending
}