Вопрос проверяет понимание того, как объекты хранятся в памяти и почему сравнение по значению для них не работает.
Короткий ответ
Объекты в JavaScript сравниваются по ссылке, а не по содержимому. Даже если два объекта имеют одинаковые поля и значения, они считаются разными, если созданы отдельно. Оператор === проверяет, указывают ли переменные на один и тот же объект в памяти. Поэтому сравнение по значению через === невозможно. Это фундаментальное свойство языка.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.