TypeScript-এ টাইপ হিসেবে এনাম

প্রতিটি এনাম তার নিজস্ব ডেটা টাইপ তৈরি করে। উদাহরণস্বরূপ, চলুন বর্তমান ঋতু সংরক্ষণকারী ভেরিয়েবলের জন্য Season টাইপ নির্ধারণ করি:

typescriptlet current: Season;

আমাদের ভেরিয়েবলে ঋতুর নম্বর লিখি:

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

হাতে করেও ঋতুর নম্বর নির্দিষ্ট করা যায়:

typescriptlet current: Season = 3;

কিন্তু অন্য টাইপের ডেটা, যেমন স্ট্রিং লিখতে চেষ্টা করলে ত্রুটি হবে:

typescriptlet current: Season = 'str'; // ত্রুটি হবে

দুর্ভাগ্যবশত, মানের সীমা ট্র্যাক করা হয় না এবং আমাদের এনামে অনুপস্থিত এমন নম্বরও লেখা সম্ভব:

typescriptlet current: Season = 7; // কোন ত্রুটি হবে না

typeof অপারেটর দিয়ে পরীক্ষা করলে আমাদের ভেরিয়েবল সংখ্যাগত টাইপ দেবে:

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

উপসংহারে বলা যায়, এই ধরনের টাইপ খুব কঠোরভাবে পরীক্ষা করা হয় না এবং এ কারণে এর মূল্য সন্দেহজনক।