Выбор ответа Junior Память и сборка мусора обновлено
Освобождает ли x = null память
Вопрос
Что происходит при bigData = null, если на объект больше нет других ссылок?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Объект станет недостижимым, и сборщик освободит его когда-нибудь позже. Присваивание null убирает ссылку.
Варианты ответа
- Память освобождается мгновенно и синхронно, прямо на этой строке
- Объект станет недостижимым, и сборщик освободит его когда-нибудь позжеправильный ответ
- Ничего: память в JS освобождается только при перезагрузке страницы
- Объект удалится, только если дополнительно вызвать
delete bigData
Разбор
Присваивание null убирает ссылку. Если других ссылок нет, объект становится мусором, но освобождает его сборщик по своему расписанию, а не в момент присваивания. Ручного освобождения в JS нет. Память возвращается и без перезагрузки, это основная работа GC. delete удаляет свойства объектов, а не переменные, и тоже не вызывает сборку.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.