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

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

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

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

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

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