ใน JavaScript ค่าดั้งเดิม เช่น สตริง ตัวเลข บูลีน ฯลฯ จะถูกเปรียบเทียบด้วยค่าของมัน ในขณะที่อ็อบเจกต์ (เนทีฟหรือกำหนดเอง) จะถูกเปรียบเทียบโดยการอ้างอิง การเปรียบเทียบโดยการอ้างอิงหมายความว่าวัตถุสองชิ้นขึ้นไปชี้ไปที่ตำแหน่งเดียวกันในหน่วยความจำหรือไม่
ต่อไปนี้เป็นรหัสเพื่ออธิบายความเท่าเทียมกันของวัตถุใน JavaScript -
ตัวอย่าง
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style> body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; } .result { font-size: 18px; font-weight: 500; color: rebeccapurple; } </style> </head> <body> <h1>Equality of objects in JavaScript</h1> <div class="result"></div> <button class="Btn">CLICK HERE</button> <h3>Click the above button to compare objects</h3> <script> let BtnEle = document.querySelector(".Btn"); let resEle = document.querySelector(".result"); let obj = { name: "Rohan", age: 21, }; let obj1 = { name: "Rohan", age: 21, }; let obj2 = obj; BtnEle.addEventListener("click", () => { if (obj != obj1) { resEle.innerHTML = "obj is not equal to obj1 <br>"; } if (obj2 === obj) { resEle.innerHTML += "obj2 is equal to obj"; } }); </script> </body> </html>
ผลลัพธ์
รหัสข้างต้นจะสร้างผลลัพธ์ต่อไปนี้ -
เมื่อคลิกปุ่ม 'คลิกที่นี่' -