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

166
Vistas
¿Se evalúan los módulos ES hasta el final antes de exportarlos?

Quiero poder exportar y luego modificar un objeto. Sin embargo, no estoy seguro de si se trata de un comportamiento inesperado.

prueba.js:

 // Short syntax export const foo = []; foo[0] = 1; // Long syntax const bar = []; bar[0] = 1; export { bar };

índice.js:

 import { foo, bar } from "./test.js"; console.log("foo:" + foo); // Is it guaranteed to be [1]? Or can it be []? console.log("bar:" + bar); // I always expect this to be [1].

Este podría ser un ejemplo tonto, pero a veces tengo un objeto y quiero registrar algunos métodos/propiedades. Quiero saber si puedo exportarlo y luego registrarlos.

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

0

¿Se evalúan los módulos ES hasta el final antes de exportarlos?

No. De hecho, las exportaciones se declaran y registran antes de que se evalúe el módulo.

Sin embargo, lo que en realidad parece estar preguntando es

¿Se evalúan los módulos ES hasta el final antes de evaluar los módulos que los importan?

Sí. test.js se evaluará por completo antes de que se evalúe index.js 1 . No importa en qué parte del módulo coloque las declaraciones de import y export .

1: con la excepción de las dependencias circulares. En ese caso, un módulo podría ejecutarse antes de que se evalúen todos los módulos importados y podría encontrarse con variables no inicializadas .

¿Está garantizado que sea [1] ? ¿O puede ser [] ?

Sí, se garantiza que sea [1] (o una excepción que const foo aún no se haya inicializado). Nunca será [] , the = [] y foo[0] = 1 siempre se ejecutan uno después del otro.

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