Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

เขียนความแตกต่างหลักระหว่างตัวดำเนินการ '==' และ '===' ใน javascript?


ความแตกต่างระหว่าง '==' และ '===' คือ อดีตตรวจสอบเฉพาะค่า แต่หลังตรวจสอบค่าและประเภทข้อมูลด้วย (สตริง บูลีน ฯลฯ) ตัวอย่างต่อไปนี้ระบุว่าค่าที่กำหนดมีค่าเท่ากันหรือไม่โดยไม่คำนึงถึงประเภทข้อมูล

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