সবার আগে আমি উল্লেখ করতে চাই যে আমি জানি কীভাবে isNaN()
এবং কীভাবে Number.isNaN()
কাজ করে। আমি পড়ছি ডেভিড ফ্লানাগনের ডিফিনিট গাইডটি এবং মানটি কীভাবে তা পরীক্ষা করতে হয় সে জন্য তিনি একটি উদাহরণ দেন NaN
:
x !== x
এর ফলাফলটি true
যদি হয় এবং কেবল যদি x
হয় NaN
।
তবে এখন আমার একটি প্রশ্ন আছে: তিনি কেন কঠোর তুলনা ব্যবহার করেন? কারণ মনে হয়
x != x
একইভাবে আচরণ করে উভয় সংস্করণ ব্যবহার করা কি নিরাপদ, বা আমি জাভাস্ক্রিপ্টে কিছু মান (গুলি) মিস করছি যা এর true
জন্য x !== x
এবং এর false
জন্য ফিরে আসবে x != x
?
NaN
কোনও অনন্য ধরন নয়, এটি একটি সংখ্যা। এটি একটি অনন্য মূল্য যা নিজের সমান নয়।
===
NaN এর সাথে না করে পয়েন্টটি তৈরি করতে NaN এর সাথে সমান নয় doing তিনি "ভুল" নন, তিনি এটি শিক্ষাদানের অনুশীলন হিসাবে করছেন, এটি প্রদর্শন করে যে এটি কার্যকর হয় না।
!==
চেকগুলির চেয়ে!=
চেকগুলি পছন্দ করে । যতদূর আমি সচেতন সেখানে অন্য কোনও মূল্য নেইx != x
। যারা পছন্দ করা: কিন্তু JavaScript বিকাশকারীদের দুটি ভিন্ন ধরনের গোষ্ঠীরনিউরোন হয়!=
এবং যারা পছন্দ করা!==
, গতি, স্বচ্ছতা, expressiveness, ইত্যাদি জন্য এটা হতে