Kiểu liệt kê trong TypeScript
Mỗi kiểu liệt kê tạo ra một kiểu dữ liệu riêng của nó. Hãy lấy ví dụ, gán kiểu Season cho biến lưu mùa hiện tại:
let current: Season;
Gán giá trị số cho biến của chúng ta:
let current: Season = Season.Winter;
console.log(current); // 0
Có thể chỉ định số mùa thủ công:
let current: Season = 3;
Nhưng nếu cố gắng gán dữ liệu kiểu khác, ví dụ, chuỗi, thì sẽ báo lỗi:
let current: Season = 'str'; // sẽ báo lỗi
Thật không may, phạm vi giá trị không được theo dõi và có thể gán một số không có trong kiểu liệt kê của chúng ta:
let current: Season = 7; // sẽ không báo lỗi
Khi kiểm tra bằng toán tử typeof, biến của chúng ta sẽ trả về kiểu số:
let current: Season = 3;
console.log(typeof current); // "number"
Tóm lại, có thể nói rằng kiểu này được kiểm tra không quá nghiêm ngặt và điều đó làm giảm giá trị của nó.