Этот материал немного вводит в заблуждение. Оба правильные, вроде, но это не переменные, которые очищаются; это значения (объекты), которые очищаются.
Когда переменная указывает на то, к примеру, как это:
mango = "Hi there!";
Немного памяти выделяется для хранения значения 9 байтов "Hi there!"
(примечание: объем памяти, выделенной, как правило, больше, чем 9 байтов. Это не менее 10 байтов, чтобы включить либо нулевой ограничитель, либо количество байтов).
Если затем присвоить значение null
ему так:
mango = null;
Строка "Hi there!"
не может быть больше не используется программой, потому что он больше не ссылается на какой-либо переменной (если она не ссылается некоторые другая переменная). Таким образом, он является кандидатом на сбор мусора. Это то, что означает, что что-то готово к очистке.
Резюмируя:
Javascript рассматривает null
как значение, которое может быть присвоено переменным. Он не интерпретирует, что означает, что переменная должна быть null
.
Человеческий программист может использовать null
как значение, которое означает «заполнитель» (примечание: программисты также могут использовать его для обозначения «нет значения», язык не заботится о том, что думают программисты).
Объект/значение, не имеющее переменной, указывающей на него, может быть собрано в мусор.
Установка переменной в null
означает, что она больше не указывает на ее предыдущее значение. Это означает, что установка переменных в нуль может использоваться как механизм для освобождения памяти.
Было ли это конкретно сказано, что *** Javascript *** считает «null» «готовым к очистке»? Я предполагаю, что это просто означает соглашение для программиста ... – deceze
Что готово для чистки * в любом случае? Доступно для сбора мусора? Это мало смысла, потому что когда переменная привязана к «null», она по определению больше не привязана к коллекционируемому объекту. –
Спекуляция; Также может быть, что когда переменная, которая содержит объект/значение, а затем устанавливает нулевую готовность к GC, а, как если бы null присваивается новой переменной, она находится в режиме состояния. – Daniel