TypeScript'te Enum Türü

Her enum kendi türünü oluşturur. Hadi örnek olarak, mevcut mevsimi tutan bir değişkene Season türünü atayalım:

typescriptlet current: Season;

Değişkenimize mevsim numarasını atayalım:

typescriptlet current: Season = Season.Winter;
console.log(current); // 0

Mevsim numarasını manuel olarak belirtebiliriz:

typescriptlet current: Season = 3;

Ancak farklı türde veri yazmaya çalışırsak, örneğin bir string, hata alırız:

typescriptlet current: Season = 'str'; // hata verecek

Ne yazık ki, değer aralığı takip edilmez ve enum'ımızda olmayan bir numara yazılabilir:

typescriptlet current: Season = 7; // hata vermeyecek

typeof operatörü ile kontrol edildiğinde değişkenimiz sayısal tür döndürür:

typescriptlet current: Season = 3;
console.log(typeof current); // "number"

Özetle, bu türün çok sıkı bir şekilde kontrol edilmediğini ve bu nedenle değerinin şüpheli olduğunu söyleyebiliriz.