Сравнение объектов
Сравним два объекта с помощью стандартных операций сравнения и эквивалентности:
const tom = { name: "Tom"};
const bob = { name: "Bob"};
// false
console.log(tom == bob);
// false
console.log(tom === bob);
Оба оператора в данном случае возвратят значение false
, то есть объекты не равны. Причем даже если значения свойств объектов будет одинаковым, то мы все равно в обоих случаях получим false
:
const tom = { name: "Tom"};
const bob = { name: "Tom"};
// false
console.log(tom == bob);
// false
console.log(tom === bob);
Однако, что будет, если обе константы (переменных) хранят ссылку на один и тот же объект:
const tom = { name: "Tom"};
const bob = tom;
// true
console.log(tom == bob);
// true
console.log(tom === bob);
В этом случае в обоих случаях мы получим true, поскольку значения обоих констант равны, так как по сути это одно и то же значение.