Задать вопрос
@gerasim_vol

Как работает присвоение по ссылке и значению в JavaScript?

ПОМОГИТЕ РАЗОБРАТСЯ

var a = {
name: 'A'
}

var b = a;
a = null; 

console.log(b.name); // A


Почему выведет А, если b ссылается на а?
  • Вопрос задан
  • 742 просмотра
Подписаться 2 Оценить Комментировать
Решения вопроса 1
@zekohina
"b" не на "a" ссылается, а на область памяти в которой хранится объект "{name: 'A'}"
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@k4o4
Новичок
Тут есть ответ learn.javascript.ru/object-reference

Обычные значения: строки, числа, булевы значения, null/undefined при присваивании переменных копируются целиком или, как говорят, «по значению».

С объектами – всё не так.

В переменной, которой присвоен объект, хранится не сам объект, а «адрес его места в памяти», иными словами – «ссылка» на него.


На странице с примерами и графикой будет понятнее
Ответ написан
Комментировать
@WQP
Вы присваиваете b значение a и теперь это две независимые переменные с одинаковым значением. Если удалить одну, то вторая останется
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы