Почему {key: "value"} отличается от {"key": "value"}? - PullRequest
1 голос
/ 11 августа 2011

Непосредственно из узла REPL:

> d1 = {key : "value"}
{ key: 'value' }
> d2 = {"key" : "value"}
{ key: 'value' }
> d1 == d2
false

Почему d1 отличается от d2?

Ответы [ 3 ]

8 голосов
/ 11 августа 2011

Это не так, вы бы получили тот же результат, если бы просто повторили первую строку с d2 вместо d1. Однако два объекта, которые вы создаете, являются различными объектами, и поэтому они не ==. == со ссылками на объект проверяет, ссылаются ли два операнда на один и тот же объект ( Раздел 11.9.3 спецификации). У вас есть два объекта, каждый из которых имеет свойство key со значением "значение".

0 голосов
/ 11 августа 2011

Это не один и тот же объект.Вы проводите сравнение равенства ссылок, а не сравнение значений.

0 голосов
/ 11 августа 2011

Потому что это два разных объекта.Это не сравнение членов объекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...