Can somebody explain this weird behavior of javascript on comparing the existence of an object in an array

Can somebody explain this weird behavior of javascript on comparing the existence of an object in an array

 
    
    Equality checks work different for objects than for strings or numbers:
console.log('hello' === 'hello');
console.log(2 === 2);
console.log({x:2} === {x:2});