Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

253
Vistas
Recolección de basura JS: ¿Se recolectan basura las funciones declaradas (que no se llaman)?

Soy nuevo en la administración de memoria en JS, así que disculpe si esta es una pregunta tonta.

Supongamos que tengo un componente con tres funciones definidas y una declaración de cambio de caso que llama solo a una función según el caso coincidente. ¿Las otras dos funciones ocuparán la memoria o se recolectarán basura una vez que se ejecute la declaración de cambio?

 
function funcA() {};
function funcB() {};
function funcC() {};

switch(type) {
 case 'funcA':
 funcA();
 break;
 case 'funcB':
 funcB();
 break;
 case 'funcC':
 funcC();
 break;
}
almost 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Si se define dentro del alcance de una función y no en el nivel superior del documento, cualquier variable local a la que se haga referencia solo dentro de ese alcance (incluidas las definiciones de función) se recolectará como basura en algún momento después de que la función termine de ejecutarse.

Puede verificar esto usando FinalizationRegistry así:

 function memoryExperiment(type) {
 function funcA() {};
 function funcB() {};
 function funcC() {};
 
 const registry = new FinalizationRegistry((heldValue) => {
 console.log(`Garbage collected ${heldValue}`)
 });
 registry.register(funcA, "funcA")
 registry.register(funcB, "funcB")
 registry.register(funcC, "funcC")

 switch(type) {
 case 'funcA':
 funcA();
 break;
 case 'funcB':
 funcB();
 break;
 case 'funcC':
 funcC();
 break;
 }

 return registry
}

const registry = memoryExperiment('funcA')

Se registra un mensaje para las tres funciones que indica que se recolectaron elementos no utilizados.

Es difícil predecir exactamente cuándo se recopilarán, ya que el algoritmo de recolección de elementos no utilizados toma decisiones en función de varios factores, pero en mis pruebas en un archivo html en Chrome que de otro modo estaría en blanco, por lo general es después de unos segundos.

almost 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda