Обнуление связанных переменных
есть такой код.
let a = {z: 1}
let b = a;
a.z = 2;
И получается что b.z тоже равно 2 так как мы меняем обект по ссылке.
но если я напишу
a = null;
то переменная а обнулится но переменная b нет и в ней все еще будет хранится значение
Но почему? у них же одна ссылка.
Ответы (1 шт):
Автор решения: Алексей Шиманский
→ Ссылка
Обе переменные ссылаются на одну область. Если можно так выразиться - смотрят на одну область. Присвоение переменной значение null лишь означает, что теперь эта самая переменная не будет смотреть на ту самую область с объектом.
Тоже самое будет если в а записать любое другое значение. Переменная будет смотреть на другую область, где записано другое значение.