Строгое сравнение JavaScript для объектов проверяет, ссылаются ли два выражения на одни и те же объекты (и так же, как и обычный оператор равенства).
Первый объект создается с использованием литерала объекта {}
, который создает новый объект без свойств.
Вы создаете второй объект, вызывая конструктор Object
как функцию. В соответствии с разделом 15.2.1.1 Спецификация языка ECMAScript это также создает новый объект так же, как если бы использовался new Object()
.
Таким образом, вы создаете два объекта, сохраняете их ссылки в p
и o
и проверяете, относятся ли p
и o
к одному и тому же объекту. Они не.