Ссылки и как они работают в JavaScript - PullRequest
2 голосов
/ 21 апреля 2019

Рассмотрим этот объект и ссылку на него.

const
 foobar = { foo: 'bar' }
,ref = foobar;

Допустим, сам foobar имеет адрес 0xF00BA9, и он указывает на 0x0B1EC7 (фактический объект {foo:'bar'}), будет refуказывают на 0xF00BA9 или непосредственно на 0x0B1EC7?


ref.foo;
// &ref > &foobar > foobar object > foo
// or &ref > foobar object > foo

1 Ответ

1 голос
/ 21 апреля 2019

Тип значения определяет, будет ли присвоение по значению (для примитивных типов, таких как логическое число, число и т. Д.) Или по ссылке (объект / массив).Так что foobar сам по себе не имеет адреса, это просто указатель на адрес объекта.ref будет указывать на один и тот же объект в памяти (он будет содержать тот же указатель на адрес).Таким образом, вы могли бы сказать, что они оба указывают на 0x0B1EC7.

Подробнее об этом можно прочитать здесь .

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