¿El recolector de basura javascript dispone de variables globales?

Estoy confundido acerca de esto ya que he visto varios comentarios diferentes. Estoy leyendo un libro de JavaScript donde se menciona que establecer variables globales en nulo es una buena práctica (suponiendo que no haya otras referencias) y el GC reclama memoria para esta variable en su próximo barrido. He visto otros comentarios que dicen que las variables globales nunca son eliminadas por el GC.

También cuando programo javascript en una estructura OOP, ¿qué sucede si tengo algo como esto (donde el juego está en el contexto global):

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

Dado que el héroe vive dentro de un objeto que está almacenado en el juego, que está en un contexto global, si, por ejemplo, establezco el héroe en nulo, ¿será eliminado por el CG?

Respuestas a la pregunta(1)

Su respuesta a la pregunta