জাভাস্ক্রিপ্টে সমতা (equality) চেক করার চারটি উপায় রয়েছে। এই আর্টিকেলে অপারেটরগুলো, টাইপ কোэрসন (type coercion) এবং কিছু অস্বাভাবিক কেস আলোচনা করা হয়েছে।
১. স্ট্রিক্ট ইকwalিটি (===)
ভ্যালু এবং টাইপ উভয়ই চেক করে।
8 === '8' // false (number !== string)
অস্বাভাবিক কেস:
| null === null | true |
| undefined === undefined | true |
| null === undefined | false |
| NaN === NaN | false |
| false === "false" | false |
| "" === "" | true |
২. স্ট্রিক্ট অneoইকwalিটি (!==)
ভ্যালু বা টাইপ যেকোনো একটা মিল না হলে true।
"8" !== 8 // true
৩. লুজ ইকwalিটি (==)
টাইপ কোэрসন (type coercion) করে ভ্যালু চেক করে।
8 == '8' // true (string কনভার্ট হয় number-এ)
অস্বাভাবিক কেস:
null == undefined → true (এটি একমাত্র পার্থক্য স্ট্রিক্টের সাথে)।
৪. লুজ অneoইকwalিটি (!=)
টাইপ কোэрসন után ভ্যালু মিল না হলে true।
"8" != 8 // false
উপসংহার
=== এবং !== ব্যবহার করা ভালো অভ্যাস কারণ এগুলো টাইপ চেক করে। == এবং != অপ্রত্যাশিত ফলাফল দিতে পারে। অবজেক্ট বা অ্যারে তুলনা করা যাবে না এই অপারেটরlarla।