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

160
Vistas
¿Se destruirá la asignación de memoria de la matriz cuando finalice la función?

Solo me preguntaba si el recolector de basura se encarga de una matriz devuelta por la función. ¿Esta función causará pérdidas de memoria si se llama muchas veces?

 1. myFun = () => { 2. let data = [] 3. for (let i=1; i<5; i++){ 4. data.push(id: i, name: 'temp') 5. } 6. return data 7. } 8. 9. let myData1 = myFun() 10. let myData2 = myFun() 11. let myData3 = myFun()

por lo que crea tres nuevas matrices. Pero, ¿cuál es el definido en la fila #2?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Pero, ¿cuál es el definido en la fila #2?

Esa es la misma matriz exacta que se devuelve. No está creando seis arreglos en total (tres adentro, tres afuera), está creando tres arreglos en total (tres adentro, que luego se devuelven al exterior).

Por lo tanto, esa matriz no se recolectará como basura siempre que la expresión devuelta siga siendo referenciable. Si myData1 , myData2 , myData3 permanecen referenciables para siempre, ninguna de las matrices se recolectará como basura. Si se vuelven no referenciables y nada puede continuar usándolos, entonces se recolectarán basura, por ejemplo, si lo hizo

 (() => { myFun = () => { let data = [] for (let i = 1; i < 5; i++) { data.push(id: i, name: 'temp') } return data } let myData1 = myFun() let myData2 = myFun() let myData3 = myFun() })();

Dado que myData1 , etc. no se vuelven a usar, y dado que el alcance en el que se declaran termina, todas las matrices se recolectarán en breve.

about 4 years ago · Juan Pablo Isaza 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