/ / Will console.log ще предотврати събирането на отпадъци? - javascript

Конзола.log ще предотврати ли събирането на отпадъци? - javascript

Ако имам обект, който обикновено би бил събран, но е бил влязъл в конзолата, ще бъде ли той все още отговарят на условията за събиране на боклука?

(function(){
var o = { foo: {} };
console.log(o);
}())

// Can o be collected?

Ако отговорът е "да", има ли някакви обстоятелства, при които писането в конзолата (използвайки който и да е от методите й) може да повлияе на допустимостта за събиране на боклука?

Редактиране: Не вярвам, че това ще повлияе върху допустимостта за събиране въз основа на гледането на купчината в инструментите на Chrome. Но дали всяка категория писане в конзолата ще направи това?

Отговори:

3 за отговор № 1

Ако регистрирате обект в конзолата, не може да се събира боклука.

Можете да потвърдите това, като въведете в хромираната конзола:

var Foo = function() {};
console.log(new Foo());

Отидете на "Профили" и "Вземете моментна снимка". Това ще направи автоматично събиране на боклука. Търсене на класа "Foo". Ще има 1 в графа "Брой обекти".