Enum hỗn hợp
Thuộc phần Giới thiệu về TypeScript trong hành trình JavaScript của Coddy. Bài học 55 trên 73.
TypeScript cũng hỗ trợ enum không đồng nhất, tức là enum có cả thành viên dạng chuỗi và dạng số trong cùng một khai báo.
Đây là cách bạn tạo một kiểu liệt kê không đồng nhất:
enum MixedEnum {
No = 0,
Yes = "YES",
Maybe = 1
}Trong ví dụ này, No và Maybe là các thành viên kiểu số, còn Yes là thành viên kiểu chuỗi. TypeScript cho phép sự linh hoạt này, dù cần lưu ý rằng kiểu liệt kê không đồng nhất (heterogeneous enum) hiếm khi được dùng trong thực tế.
Thử thách
DễTạo một enum hỗn hợp có tên ResponseCode, kết hợp các giá trị chuỗi và số:
Successđược khởi tạo bằng200Errorđược khởi tạo bằng"ERROR"NotFoundđược khởi tạo bằng404Timeoutđược khởi tạo bằng"TIMEOUT"
Tạo một hàm có tên handleResponse nhận một tham số:
codecó kiểuResponseCode
Hàm cần:
- Kiểm tra mã phản hồi và in các thông báo khác nhau tùy theo giá trị
- Nếu mã là
ResponseCode.Success, in"Request successful" - Nếu mã là
ResponseCode.Error, in"General error occurred" - Nếu mã là
ResponseCode.NotFound, in"Resource not found" - Nếu mã là
ResponseCode.Timeout, in"Request timed out" - Có kiểu trả về là
void
Tạo bốn biến để minh họa các giá trị enum:
successCodecó kiểuResponseCodevà gán giá trịResponseCode.Successcho biến nàyerrorCodecó kiểuResponseCodevà gán giá trịResponseCode.Errorcho biến nàynotFoundCodecó kiểuResponseCodevà gán giá trịResponseCode.NotFoundcho biến nàytimeoutCodecó kiểuResponseCodevà gán giá trịResponseCode.Timeoutcho biến này
In các đầu ra sau:
- In giá trị của
successCode - In giá trị của
errorCode - In giá trị của
notFoundCode - In giá trị của
timeoutCode - Gọi
handleResponsevớiResponseCode.Success - Gọi
handleResponsevớierrorCode - Gọi
handleResponsevới giá trị số404
Tự làm thử
// TODO: Viết code của bạn tại đây
// Tạo enum ResponseCode
// Tạo hàm handleResponse
// Tạo các biến minh họa
// In ra các đầu ra theo yêu cầuBài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Giới thiệu về TypeScript
1Bắt đầu với TS
TypeScript là gì?Tại sao nên dùng TypeScript?Đoạn code TypeScript đầu tiênQuy trình biên dịch và lỗiÔn tập: Giới thiệu về TS4Làm việc với hàm
Khai báo kiểu cho tham số và giá trị trả vềKhai báo kiểu cho hàm mũi tênKiểu trả về voidTham số tùy chọn với '?'Giá trị mặc định của tham sốKhai báo kiểu cho tham số restĐịnh nghĩa kiểu hàmÔn tập: xây dựng hàm có kiểu2Kiểu dữ liệu cốt lõi
Kiểu dữ liệu cơ bản: str, num, booleanKiểu 'any': lối thoátKiểu 'unknown'Làm việc với null và undefinedSuy luận kiểu trong thực tếChú thích kiểu tường minhÔn tập: luyện tập về kiểu dữ liệu cốt lõi3Cấu trúc dữ liệu: mảng và tuple
Mảng định kiểuTừ khóa readonly cho mảngTuple là gì?Khai báo và truy cập tuplePhân rã tupleTuple chỉ đọcMảng định kiểu nhiều chiềuToán tử spread với mảngÔn tập: mảng và tupleTự luyện tập: Playground TypeScript