Задать вопрос
newbie_bro
@newbie_bro
Учусь на программиста

Если обнулить ссылку в объекте, которая ссылаеться на подобъект, то этот подобъект удалится?

let obj1 = {
  'bruh': 'hello',
  'subObj': {
    'subBruh': 'world',
  }
};

obj1.subObj.subBruh = null;
  • Вопрос задан
  • 66 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
sinneren
@sinneren
Выше уже сказали ,если удалить и ссылок нет, то удалится. Но в вашем примере вы просто присваиваете subBruh значение null, так что сам subBruh останется, аналогично и для subObj.
Правильно делать через delete: delete obj1.subObj - удалит весь объект subObj.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Смотря что понимать под "удалится".
Если это единственная ссылка на экземпляр, то вероятно да, сборщик мусора его уберёт, но могут быть нюансы со строками и числами, тк V8 для них всякие специальные оптимизации делает.
Ответ написан
Комментировать
lazalu68
@lazalu68
Salmon
Если имелось в виду obj1.subObj, то да, объект удалится если ссылок на него больше нету
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
Wanted. Москва
от 250 000 до 400 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
21 янв. 2025, в 14:21
30000 руб./за проект
21 янв. 2025, в 14:10
2500 руб./за проект