JavaScript-এ আপনি লক্ষ্য করেছেন হতে পারে যে দুটি ভ্যালুর মধ্যে সমানতা চেক করার দুটি পদ্ধতি আছে:
- রেগুলার ইকুয়ালস:
==(ডাবল ইকুয়ালস) - স্ট্রিক্ট ইকুয়ালস:
===(ট্রিপল ইকুয়ালস)
ডাবল ইকুয়ালস (==) এবং ট্রিপল ইকুয়ালস (===) এর পার্থক্য হলো:
- রেগুলার ইকুয়ালস শুধু ভ্যালু তুলনা করে এবং ভ্যালু টাইপ উপেক্ষা করে
- স্ট্রিক্ট ইকুয়ালস ভ্যালু এবং ভ্যালু টাইপ দুটোই তুলনা করে।
উদাহরণস্বরূপ:
// returns true 5 == "5" // returns false 5 === "5" উপরের দুটি উদাহরণে, বাম পাশের ভ্যালুটি একটি নামেরিক ভ্যালু টাইপ, ডান পাশের একটি স্ট্রিং ভ্যালু টাইপ (কোটেশন ' ' দিয়ে নির্দেশিত)।
দুটোরই ভ্যালু পাঁচ কিন্তু একটা নামেরিক ভ্যালু আরেকটা স্ট্রিং ভ্যালু। স্ট্রিক্ট ইকুয়ালস === শুধু তখন true ইভ্যালুয়েট করে যখন দুইটি ভ্যালু এবং ভ্যালু টাইপ একই থাকে।
সুতরাং নিচের দুটি উদাহরণ true রিটার্ন করে কারণ স্ট্রিক্ট ইকুয়ালসের দুই পাশের ভ্যালু টাইপ একই:
// returns true 5 === 5 // returns true "5" === "5"