TypeScript-এ টাইপ হিসেবে এনাম
প্রতিটি এনাম তার নিজস্ব ডেটা টাইপ তৈরি করে।
উদাহরণস্বরূপ, চলুন বর্তমান ঋতু সংরক্ষণকারী
ভেরিয়েবলের জন্য Season টাইপ নির্ধারণ করি:
let current: Season;
আমাদের ভেরিয়েবলে ঋতুর নম্বর লিখি:
let current: Season = Season.Winter;
console.log(current); // 0
হাতে করেও ঋতুর নম্বর নির্দিষ্ট করা যায়:
let current: Season = 3;
কিন্তু অন্য টাইপের ডেটা, যেমন স্ট্রিং লিখতে চেষ্টা করলে ত্রুটি হবে:
let current: Season = 'str'; // ত্রুটি হবে
দুর্ভাগ্যবশত, মানের সীমা ট্র্যাক করা হয় না এবং আমাদের এনামে অনুপস্থিত এমন নম্বরও লেখা সম্ভব:
let current: Season = 7; // কোন ত্রুটি হবে না
typeof অপারেটর দিয়ে পরীক্ষা করলে
আমাদের ভেরিয়েবল সংখ্যাগত টাইপ দেবে:
let current: Season = 3;
console.log(typeof current); // "number"
উপসংহারে বলা যায়, এই ধরনের টাইপ খুব কঠোরভাবে পরীক্ষা করা হয় না এবং এ কারণে এর মূল্য সন্দেহজনক।