=== (strict equality) মূল্য এবং প্রকার কোন রূপান্তর ছাড়াই তুলনা করে। == (loose equality) প্রথমে type coercion সম্পাদন করে, যা অবাক করে দেওয়া ফলাফলের দিকে পরিচালিত করে।
js
== ;
== ;
== ;
== ;
== ;
=== ;
=== ;
=== (strict equality) মূল্য এবং প্রকার কোন রূপান্তর ছাড়াই তুলনা করে। == (loose equality) প্রথমে type coercion সম্পাদন করে, যা অবাক করে দেওয়া ফলাফলের দিকে পরিচালিত করে।
== ;
== ;
== ;
== ;
== ;
=== ;
=== ;
রূপান্তর নিয়মগুলি স্পষ্ট নয় এবং বাগের দিকে পরিচালিত করে। উদাহরণস্বরূপ, [] == ![] হল true (একটি কুখ্যাত বৈশিষ্ট্য)। আপনি খুব কমই চান যে JavaScript তুলনার সময় আপনার পিছনে নীরবে প্রকার রূপান্তর করুক।
সর্বদা === ব্যবহার করুন (এবং !==)। একটি সাধারণ, উদ্দেশ্যমূলক ব্যতিক্রম হল null অথবা undefined একসাথে যাচাই করা:
if (value == null) { ... } // true for BOTH null and undefined — a deliberate idiom
অন্য সবকিছুর জন্য, strict equality তুলনাগুলিকে পূর্বাভাসযোগ্য রাখে। বস্তু তুলনা করার জন্য আপনার একটি গভীর-সমতা পরীক্ষা প্রয়োজন (তারা রেফারেন্স দ্বারা তুলনা করে, তাই {a:1} === {a:1} হল false)।