@gerasim_vol

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

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

var a = {
name: 'A'
}

var b = a;
a = null; 

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


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

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

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

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


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

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

Похожие вопросы
22 нояб. 2024, в 06:06
1500 руб./в час
22 нояб. 2024, в 06:04
1 руб./за проект
22 нояб. 2024, в 03:54
1500 руб./за проект