Trong TypeScript, bạn có thể sử dụng enum để định nghĩa một tập hợp các giá trị có tên xác định. Enum cho phép bạn sử dụng các giá trị có thể là số hoặc chuỗi. Để tạo một enum với các giá trị chuỗi, bạn chỉ cần gán giá trị chuỗi cho từng thành viên của enum.
Cú pháp cơ bản
Dưới đây là cú pháp để tạo một enum với các giá trị chuỗi:
enum EnumName {
MemberName1 = "Value1",
MemberName2 = "Value2",
MemberName3 = "Value3",
}
Ví dụ thực tế
Dưới đây là một ví dụ về việc tạo một enum cho các trạng thái của một tác vụ:
enum TaskStatus {
Todo = "TODO",
InProgress = "IN_PROGRESS",
Completed = "COMPLETED",
Blocked = "BLOCKED"
}
// Sử dụng enum
const logTaskStatus = (status: TaskStatus) => {
switch (status) {
case TaskStatus.Todo:
console.log("Task is todo.");
break;
case TaskStatus.InProgress:
console.log("Task is in progress.");
break;
case TaskStatus.Completed:
console.log("Task is completed.");
break;
case TaskStatus.Blocked:
console.log("Task is blocked.");
break;
default:
console.log("Unknown status.");
break;
}
};
// Ví dụ sử dụng
logTaskStatus(TaskStatus.Todo); // Output: Task is todo.
logTaskStatus(TaskStatus.Completed); // Output: Task is completed.
Giải thích ví dụ
- Định nghĩa Enum: Enum
TaskStatus
được định nghĩa với bốn thành viên, mỗi thành viên được gán một giá trị chuỗi tương ứng. Điều này giúp mã dễ đọc và dễ hiểu hơn.
- Sử dụng Enum: Hàm
logTaskStatus
nhận tham số status
kiểu TaskStatus
. Khi gọi hàm với các giá trị thuộc enum, nó sẽ in ra trạng thái tương ứng.
- Chạy ví dụ: Các dòng
logTaskStatus(TaskStatus.Todo);
và logTaskStatus(TaskStatus.Completed);
sẽ in ra thông báo tương ứng với trạng thái của tác vụ.
Lợi ích của việc sử dụng enum với giá trị chuỗi
- Dễ đọc và dễ bảo trì: Các giá trị có tên giúp hiểu rõ hơn về mục đích của từng trạng thái.
- Kiểm tra kiểu tốt hơn: TypeScript sẽ đảm bảo rằng chỉ các giá trị được xác định trong enum mới có thể được sử dụng, giúp giảm thiểu lỗi trong mã.
- Tính mở rộng: Nếu cần thêm trạng thái mới, bạn chỉ cần thêm một thành viên mới vào enum mà không phải thay đổi các phần khác trong mã.
Kết luận
Enum với các giá trị chuỗi trong TypeScript là một công cụ hữu ích để quản lý các giá trị xác định trong ứng dụng. Chúng không chỉ làm cho mã trở nên dễ đọc và bảo trì hơn mà còn cung cấp kiểm tra kiểu mạnh mẽ, giúp phát triển ứng dụng an toàn hơn.