Почему при сравнении двух одинаковых объектов будет false?

Готовлюсь к собеседованиям и систематизирую знания, сегодня классический джуновский вопрос — почему два вроде бы одинаковых объекта могут считаться разными.

Известно, что объект- ссылочный тип данных в JavaScript, то есть это значение в памяти, на которое возможно сослаться с помощью идентификатора.

Представьте, что вы с подругой заказали в интернет магазине два абсолютно одинаковых товара одной модели, одного цвета. Для курьерской службы, которая ищет конкретный заказ по номеру, это два совершенно разных заказа.

Точно так же работает сравнение объектов в программировании. Когда мы просто пишем a == b, мы по умолчанию часто спрашиваем: 'А это один и тот же объект? Это один и тот же заказ?' И если наши переменные a и b ссылаются на два разных, хоть и неотличимых, объекта, ответ будет 'нет' — false.

#вопросы_для_собеседования #javascript #frontenddevelopment #войтивайти