node.js displays "undefined" on the console

Javascriptnode.jsConsoleUndefined

Javascript Problem Overview


Recently I installed node.js on my Windows 7 machine.

On execution of JavaScript, I get an undefined message along with successful execution of the expression.

What's wrong here? I have not noticed any other side effects.

enter image description here

Javascript Solutions


Solution 1 - Javascript

The JavaScript functions always return something. If you don't specify something to return in the function, 'undefined' is returned by default (you can check this out in Firebug too).

Don't worry though, this doesn't affect anything, you can ignore it.

Solution 2 - Javascript

Just write "hello world"; and hit enter... it will return "hello world" instead of undefined, thus no undefined is displayed. console.log returns undefined and also logs arguments to console so you get multiple messages.

Solution 3 - Javascript

As pointed out by others, javascript function will always return undefined if you do not specify any return value. You can just ignore it. It's not going to cause any harm. But if it's annoying you too much then you can turn it off in repl. Repl has this property ignoreUndefined which is set to false by default. You can set it to true. Try this:

module.exports.repl.ignoreUndefined = true;

Solution 4 - Javascript

Well, the question was made some years ago, but there is still another way to explain what is happening here.

Try next command:

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

As mentioned function console.log() returns undefined normally and you can choose a better return value. Since Non-strict (abstract) comparison considers undefined equal to false the || operator allows you that choice.

Considering that it is just a debugging tool, this is unnecessary in general use, but helps to understand that console displays text sent to stdout and also evals the command and displays the returned value, or undefined if no value was received.

Solution 5 - Javascript

If you need to turn on ignoreUndefined from inside a module, you can use the following line to simulate AvinashB's answer without typing into the console by yourself:

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

Solution 6 - Javascript

node also prints undefined because IN GENERAL, it displays the return value of each command and console.log doesn't return anything.

Solution 7 - Javascript

this is happening because console.log has (null/undefined) return type to solve this issue.. have a function returning a string.. then log that function returned value... that will overcome the undefined issue..

const addNotes= function(msg)
{
    return msg;
}
console.log(addNotes('say hello'));

Solution 8 - Javascript

Just ignore it, no need to worry at all. I too had the same issue when I called the function without any return type. So node used to print undefined return type for the called function.

function emitEvent(eventname){
    eventEmitter.emit(SIV_EVENT);
}
console.log(emitEvent());

Check undefined here, https://nodejs.org/api/util.html.

Solution 9 - Javascript

To avoid seeing undefined output from commands when using Node's repl module, set ignoreUndefined to true in repl.start.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionSandeep G BView Question on Stackoverflow
Solution 1 - JavascriptalessioalexView Answer on Stackoverflow
Solution 2 - JavascriptEsailijaView Answer on Stackoverflow
Solution 3 - JavascriptAvinashBView Answer on Stackoverflow
Solution 4 - JavascriptMelo WasteView Answer on Stackoverflow
Solution 5 - JavascriptRienNeVaPlu͢sView Answer on Stackoverflow
Solution 6 - JavascriptxameeramirView Answer on Stackoverflow
Solution 7 - JavascriptMahmoud SayedView Answer on Stackoverflow
Solution 8 - JavascriptSelvaganesan SaminathanView Answer on Stackoverflow
Solution 9 - JavascriptKen LinView Answer on Stackoverflow