Czy javascript Garbage Collector zawiera zmienne globalne?

Jestem zdezorientowany tym, ponieważ widziałem kilka różnych komentarzy. Czytam książkę w języku javascript, w której wspomina się, że ustawianie zmiennych globalnych na wartość null jest dobrą praktyką (zakładając, że nie ma innych odniesień), a GC odzyskuje pamięć dla tej zmiennej podczas następnego wobulacji. Widziałem inne komentarze, które mówią, że globalne zmienne nigdy nie są usuwane przez GC.

Również podczas programowania javascript w strukturze OOP, co się stanie, jeśli mam coś takiego (gdzie gra jest w kontekście globalnym):

var game = {};
game.level = 0;
game.hero = new hero();
//do stuff
game.hero = null;

Ponieważ bohater żyje wewnątrz obiektu przechowywanego w grze, który jest w kontekście globalnym, jeśli ustawię na przykład bohatera na wartość null, czy zostałby on usunięty przez GC?

questionAnswers(1)

yourAnswerToTheQuestion