ventana una salir saber recarga pestaña pagina navegador evento ejecutar detectar cuando close cierre cierra cerrar capturar javascript node.js console undefined

javascript - una - node.js muestra "indefinido" en la consola



javascript detectar cierre pestaña (6)

Recientemente instalé node.js en mi máquina con Windows 7.

En la ejecución de JavaScript, recibo un mensaje indefinido junto con la ejecución exitosa de la expresión.

¿Qué pasa aquí? No he notado ningún otro efecto secundario.


Bueno, la pregunta fue hecha hace algunos años, pero todavía hay otra manera de explicar lo que está sucediendo aquí.

Pruebe el siguiente comando:

console.log("Hello World") || "Bye World";

Como mencionamos, la función console.log() devuelve undefined normalmente y puede elegir un mejor valor de retorno. Como la comparación no estricta (abstracta) considera undefined igual a false || el operador te permite esa elección.

Teniendo en cuenta que es solo una herramienta de depuración, esto no es necesario en el uso general, pero ayuda a comprender que la consola muestra texto enviado a stdout y también evalúa el comando y muestra el valor devuelto, o indefinido si no se recibió ningún valor.


Como señalaron otros, la función javascript siempre devolverá indefinido si no especifica ningún valor de retorno. Puedes simplemente ignorarlo. No va a causar ningún daño. Pero si te molesta demasiado, puedes apagarlo en repl. Repl tiene esta propiedad ignoreUndefined, que está establecida en falso de forma predeterminada. Puedes establecerlo en verdadero. Prueba esto:

module.exports.repl.ignoreUndefined = true;


Las funciones de JavaScript siempre devuelven algo. Si no especifica algo para devolver en la función, ''indefinido'' se devuelve por defecto (también puede ver esto en Firebug).

Pero no te preocupes, esto no afecta nada, puedes ignorarlo.


Si necesita activar ignoreUndefined desde el interior de un módulo, puede usar la siguiente línea para simular la respuesta de sin tener que escribir en la consola:

process.stdin.emit(''data'', "module.exports.repl.ignoreUndefined = true;/n");


node también imprime undefined porque EN GENERAL , muestra el valor de retorno de cada comando y console.log no devuelve nada.


Solo escribe "hello world"; y presiona enter ... devolverá "hello world" lugar de undefined , por lo que no se mostrará undefined . console.log devuelve undefined y también registra los argumentos en la consola para que pueda obtener múltiples mensajes.