@Romario5891

Работа с объектами?

Подскажите пожалуйста почему в данном коде при выводе в консоли будет объект с полем а.а =10 а не null? Спасибо
let a ={};
function clear(a){
a.a = 10;
a = null
}

clear(a)
console.log(a)
  • Вопрос задан
  • 88 просмотров
Решения вопроса 1
@aedam
Потому что аргумент функции a создает новую ссылку на внешний a. Обе a ссылаются на один и тот же объект. Ты присвоил свойство этому объекту, а потом обнулил a = null. Но обнулил лишь локальную ссылку, но объект все еще остался в памяти во внешнем a.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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