NaN
এর অর্থের আরও সুনির্দিষ্টভাবে এবং কম বিভ্রান্তিকরভাবে বর্ণনা করার জন্য আরও ভাল নাম হ'ল সংখ্যাসূচক ব্যতিক্রম হবে । এটি সত্যই অন্যরকম একটি ব্যতিক্রম বস্তু যা আদিম ধরণের (ভাষা নকশার দ্বারা) হিসাবে ছদ্মবেশ ধারণ করে, যেখানে একই সাথে এটির মিথ্যা স্ব-তুলনার ক্ষেত্রে আদিম হিসাবে বিবেচিত হয় না। কোথা থেকে বিভ্রান্তি। এবং যতক্ষণ না ভাষা যথাযথ ব্যতিক্রম বস্তু এবং আদিম সংখ্যাগুলির মধ্যে চয়ন করার জন্য "তার মন তৈরি করবে না" , বিভ্রান্তি থেকেই যায়।
নিজের কাছে কুখ্যাত অ-সাম্যতা NaN
উভয়ই ==
এবং ===
এই ব্যতিক্রমী বিষয়টিকে আদিম ধরণের হিসাবে বাধ্য করতে বাধ্য করা বিভ্রান্তিকর নকশার প্রকাশ। এটি আদিম নীতিকে ভঙ্গ করে যে কোনও আদিম তার মান দ্বারা অনন্যভাবে নির্ধারিত হয় । যদি NaN
ব্যতিক্রম হিসাবে দেখা (যেমন বিভিন্ন ধরণের হতে পারে) হিসাবে দেখা পছন্দ হয় তবে তা আদিম হিসাবে "বিক্রয়" হওয়া উচিত নয়। এবং যদি এটি আদিম হতে চায়, তবে সেই নীতিটি অবশ্যই ধরে রাখতে হবে। যতক্ষণ না এটি ভেঙে যায়, যতটা জাভাস্ক্রিপ্টে রয়েছে, এবং আমরা সত্যই দুজনের মধ্যে সিদ্ধান্ত নিতে পারি না, জড়িত প্রত্যেকের জন্য অহেতুক জ্ঞানীয় বোঝা নিয়ে যাওয়ার বিভ্রান্তি থেকেই যাবে। তবে যাইহোক, কেবল দুজনের মধ্যে পছন্দ করেই এটি ঠিক করা সহজ:
- হয়
NaN
আপাত কীভাবে কার্যকর হয়েছে সে সম্পর্কিত দরকারী তথ্য সম্বলিত একটি বিশেষ ব্যতিক্রমী বস্তু তৈরি করুন, বর্তমানে যে তথ্যটি প্রয়োগ করা হয়েছে তা ফেলে দেওয়ার বিপরীতে, হার্ড-টু-ডিবাগ কোডের দিকে নিয়ে যাওয়া;
- বা
NaN
আদিম ধরণের একটি সত্তা তৈরি করুন number
(এটিকে কম বিভ্রান্তিকরভাবে "সংখ্যাসূচক" বলা যেতে পারে) সেক্ষেত্রে এটি নিজের সমতুল্য হওয়া উচিত এবং অন্য কোনও তথ্য থাকতে পারে না; দ্বিতীয়টি স্পষ্টতই নিকৃষ্ট পছন্দ।
অত্যাচার একমাত্র অনুমেয় সুবিধা NaN
মধ্যে number
টাইপ কোনো সংখ্যাগত অভিব্যক্তি সেটিকে ফিরে নিক্ষেপ করতে সক্ষম হচ্ছে। যাইহোক, যা এটি ভঙ্গুর পছন্দ করে তোলে, কারণ যে কোনও সংখ্যাসূচক প্রকাশের ফলাফলটি NaN
হয় তা হয় NaN
বা অনাকাঙ্ক্ষিত ফলাফলের দিকে নিয়ে যায় যেমন NaN < 0
মূল্যায়ন করা false
, অর্থাত boolean
ব্যতিক্রম না রেখে ফিরে আসা ।
এমনকি "জিনিসগুলি যেমন হয় ঠিক তেমনভাবে", আমাদের কোডটিকে আরও অনুমানযোগ্য এবং সহজেই ডিবাজিযোগ্য করে তুলতে সহায়তা করার জন্য, কোনও কিছুই আমাদের নিজেদের জন্য সেই স্পষ্ট পার্থক্য তৈরি করতে বাধা দেয় না। অনুশীলনে, এর অর্থ সেই ব্যতিক্রমগুলি চিহ্নিত করা এবং তাদের সাথে ব্যতিক্রম হিসাবে আচরণ করা। দুর্ভাগ্যক্রমে যার অর্থ আরও কোড তবে আশা করা যায় যে টাইপস্ক্রিপ্ট অফ ফ্লোটাইপের মতো সরঞ্জামগুলি দ্বারা প্রশমিত করা হবে।
এবং তারপরে আমাদের কাছে অগোছালো শান্ত বনাম গোলমাল ওরফে সংকেত NaN
পার্থক্য রয়েছে । কোনটি ব্যতিক্রমগুলি কীভাবে পরিচালনা করা হয় সে সম্পর্কে সত্যই এটি ব্যতিক্রমগুলি নিজেরাই নয় এবং অন্যান্য ব্যতিক্রমগুলির চেয়ে আলাদা কিছু নয়।
একইভাবে, Infinity
এবং আসল লাইনের প্রসারণে উদ্ভূত সংখ্যাসূচক+Infinity
উপাদানগুলি কিন্তু তারা আসল সংখ্যা নয়। গাণিতিকভাবে, এগুলি প্রকৃত সংখ্যাগুলির ক্রম দ্বারা প্রতিনিধিত্ব করা যেতে পারে হয় হয় বা দুটিতে রূপান্তর করে ।+
-Infinity