ความแตกต่างระหว่าง '==' และ '===' คือ อดีตตรวจสอบเฉพาะค่า แต่หลังตรวจสอบค่าและประเภทข้อมูลด้วย (สตริง บูลีน ฯลฯ) ตัวอย่างต่อไปนี้ระบุว่าค่าที่กำหนดมีค่าเท่ากันหรือไม่โดยไม่คำนึงถึงประเภทข้อมูล
a) "=="โอเปอเรเตอร์(ตรวจสอบความเท่าเทียมกัน)
ตัวอย่าง
<html> <body> <p id="strict"></p> <script> var x = 5; var y = 5; var z = 6; document.getElementById("strict").innerHTML = (x == y) + "<br>" + (x == z); </script> </body> </html>
ผลลัพธ์
true false
b) '===' โอเปอเรเตอร์ (ตรวจสอบความเท่าเทียมกันอย่างเข้มงวด)
ตัวดำเนินการ "===" ให้ค่าจริงก็ต่อเมื่อทั้งค่าและประเภทข้อมูลเท่ากัน หากไม่ส่งกลับค่าเท็จ ในตัวอย่างต่อไปนี้ ทุกตัวแปร (x,y,z) กำหนดค่า 5 แต่บางตัวได้รับสตริง ประเภทข้อมูล (ตัวแปร y และ z) เมื่อเราเข้มงวดเท่ากับ x และ y เราได้รับค่าเท็จเนื่องจากตัวแปร y ถูกกำหนดประเภทข้อมูลสตริงในขณะที่ตัวแปร x ไม่ใช่
ตัวอย่าง
<html> <body> <p id="strict"></p> <script> var x = 5; var y = "5"; var z = "5"; document.getElementById("strict").innerHTML = (x === y) + "<br>" + (x == z); </script> </body> </html>
ผลลัพธ์
false true