จัสมินมีตัวจับคู่toBe
และtoEqual
. หากฉันมีวัตถุเช่นนี้:
function Money(amount, currency){
this.amount = amount;
this.currency = currency;
this.sum = function (money){
return new Money(200, "USD");
}
}
และลองเปรียบเทียบnew Money(200, "USD")
และผลลัพธ์ของผลรวมตัวจับคู่ในตัวเหล่านี้จะไม่ทำงานตามที่คาดไว้ ฉันได้จัดการเพื่อใช้วิธีแก้ปัญหาตามequals
วิธีการที่กำหนดเองและตัวจับคู่แบบกำหนดเอง แต่ดูเหมือนจะได้ผลมาก
วิธีมาตรฐานในการเปรียบเทียบวัตถุในจัสมินคืออะไร?
==
และ===
ผิดอย่างสิ้นเชิง สองกรณีที่แตกต่างกันของวัตถุที่มีเนื้อหาเดียวกันจะส่งคืนเท็จ สำหรับสิ่งที่ไม่ใช่ดั้งเดิม==
และมี===
พฤติกรรมเหมือนกัน jsfiddle.net/9mrmyrs6