The Console API

Every JavaScript developer has used console.log(‘text’) . The console module is one of the most common utilities in JavaScript, and the API implemented in Node:

provides a simple debugging console that is similar to the JavaScript console mechanism provided by web browsers.

This is the definition written in the Node.js documentation page for the Console module 😅. However, beginners are prone to consult online tutorials instead of reading the documentation while starting with new technologies, missing the chance to learn how to properly use this new tool to 100% of its potential.

When talking about the Console API, newbies usually use only some functions like 👌 console.log() , ⚠️ console.warn() , or ❌ console.error() to debug their application, while often there are many other methods which can perfectly implement our requirements and improve debugging efficiency.

This article is made to expose some of the most interesting console methods with related examples that I use while teaching at Codeworks. So let’s see a list of the 8 best functions from the Console module!

All the following methods are available in the global instance console , so it is not necessary to require the console module.

The console.assert function is used to test if the passed argument is a truthy or falsey value. In the case that the passed value is falsey, the function logs the extra arguments passed after the first one, otherwise, the code execution proceeds without any log.

Both cases of a truthy or falsy assertion.

The assert method is particularly useful whenever you want to check the existence of values while keeping the console clean (avoid logging long list of properties, etc.).

These two methods are used to set and clear a counter of how many times a particular string gets logged in the console:

Count and reset the log occurrences for the “Hello” string.

.group and .groupEnd create and end a group of logs in your console. You can pass a label as the first argument of .group() to describe what it is concerned about:

Three groups to describe family roles.

This particular method is incredibly useful to describe an object or array content in a human-friendly table:

Table for a list of user objects.

console.table makes it easier for the inspection and logging of nested and complex arrays/objects.

In the case that you want to check the performance of your code in execution time, and to solve it you create a start timestamp with the Date API and use it to compute the difference after your code execution? Something like this:

Well, using the time and timeEnd functions, it is not necessary to do this trick. You can create your timing report simply by doing:

As you can see, console.time also returns a more accurate result.

Summary

With only 3 minutes of your time, you now have a larger scope of some of the wonderful tools available in the Console API. Integrate them with your debugging habits and your development speed will increase exponentially!

See you with the next chapter of Learning Node.js! 🚀🎉