The following code from EJS demonstrates that two objects with the same properties are not necessarily the same 'value'. So I'm wondering what values the equality operator actually uses when comparing two objects. From looking around I can see it is a 'reference'. But what is this reference? Is it a memory address?
let object1 = {value: 10};
let object2 = object1;
let object3 = {value: 10};
console.log(object1 == object2);
// → true
console.log(object1 == object3);
// → false