• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

267
Vistas
La asignación a una variable no declarada arroja ReferenceError en Node solo cuando se usan módulos ECMAScript

Tengo el archivo index.js con estos contenidos:

 const test = function (cb) { cb(); }; test(myCallback = function () { console.log('done'); });

Cuando ejecuto index.js usando Node v16.6.1 y CommonJS:

 done

Cuando ejecuto index.js usando Node v16.6.1 con "type": "module" en mi archivo package.json :

 ReferenceError: myCallback is not defined

¿Puede decirme si esto se relaciona con los módulos ECMAScript y cómo?

about 3 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Este es un efecto secundario del uso de ESM. El modo estricto ( use strict ) está habilitado de forma predeterminada. Lo que causa el error, porque: myCallback no se declara en ninguna parte.

 let myCallback; test(myCallback = function () { console.log('done'); }); // here we assign myCallback to a function. are you sure you want to actually do this?

Antes, estaba intentando crear una variable global.

Primero, el modo estricto hace imposible crear accidentalmente variables globales. [...] Asignaciones, que accidentalmente crearían variables globales, arrojarían un error en modo estricto

about 3 years ago · Santiago Trujillo Denunciar

0

Hay dos formas de nombrar funciones. Puede establecer una variable igual a una función. O puede darle un nombre a una función. Aquí hay dos formas de resolver su problema.

Nombra la función

 test(function myCallback () { console.log('done'); });

Establecer variable igual a función

 const myCallback = function () { console.log('done'); } test(myCallback);
about 3 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 Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda