Console methods that you might not know but can change how you debug your code

Lalit Shahi
5 min readOct 1, 2021

Howdy JavaScript Developers ๐Ÿ‘‹

We all love to write code, right? Most of us just follow ๐Ÿ‘‡

Until we get some bugs in our code and we have to break our routine and most of it changes like this ๐Ÿ‘‡

I am going to help you here write the magical code which will never have any ๐Ÿž.

Hehe! ok, I am kidding there is no one in this heavenly earth who can teach you to code without bugs. But there are some ways we can reduce our time to debug and help us understand the ๐Ÿž and source of it.

I hope you are guys are still with me, if you are good, letโ€™s get started -

As JavaScript Developer we all have used the console inside the dev tool way often. Our first approach to test or debug our code is to log it to the console.

But do you know there are different console methods that we can use to differentiate between our logs?

console.log(โ€œhello world!โ€)

๐Ÿ”ธ The most commonly used console method is console.log() which prints anything passed to it as arguments on the console

๐Ÿ”ธ Multiple arguments can be passed.

๐Ÿ”ธ It can be strings, variables, objects, functions, or HTML elements.

console.assert(expression, message);

๐Ÿ”ธ It is used to make conditional log statements on the console.

๐Ÿ”ธ It prints the message (passed as the second argument) if the expression (passed as the first argument) is false.

๐Ÿ”ธ If the assertion is true nothing is printed on the console.


๐Ÿ”ธ It prints a warning message onto the console.

๐Ÿ”ธ The message would be highlighted with yellow color.

๐Ÿ”ธ It gives us the call stack for the warning log as well which helps to trace the warning in the call stack.


๐Ÿ”ธ Just like console.warn() it prints the error message on the console.

๐Ÿ”ธ The message is highlighted with red color.

๐Ÿ”ธ We get the error call stack for easy debugging.


๐Ÿ”ธ It prints the number of times the count method has been called for the argument passed to it.

๐Ÿ”ธ If no argument is passed to it, it counts for the default label.

๐Ÿ”ธ Argument can only be a string.


๐Ÿ”ธ It prints arrays and objects into tabular form.

๐Ÿ”ธ It needs to have an array or an object as the mandatory argument.

๐Ÿ”ธ First column is labeled as index.

๐Ÿ”ธ For arrays, the first column is the indices of the elements

& for objects, its keys.

console.time(label) & console.timeEnd(label)

๐Ÿ”ธ console.time(label) starts the timer to track the time taken by a task.

๐Ÿ”ธ console.timeEnd(label) stops the timer for that label and prints the total time taken since it started.

๐Ÿ”ธ label the argument has to be the same and once we call console.timeEnd(label) the timer is removed from the stack.


๐Ÿ”ธ It logs the time elapsed since the timer had started after running the console.time(label) method.

๐Ÿ”ธ Needs to have the same label argument as the console.time(label) method.

๐Ÿ”ธ If called after console.timeEnd(label) it gives the warning message stating Timer Label does not exist because timer gets popped out of the stack. & console.groupEnd()

๐Ÿ”ธ groups the logs with an indentation

๐Ÿ”ธ console.groupEnd() closes the group started before.

๐Ÿ”ธ can be used to batch errors and warnings together or print similar information together.


๐Ÿ”ธ It shows a complete call stack when debugging from the point it is called.

๐Ÿ”ธ It can very handy when debugging a complex code with multiple files and modules.


๐Ÿ”ธ When the console gets too cluttered, you can use console.clear() method to clear the console.

Bonus Tip

You can print log statements with your own custom styles. There are a bunch of string substitutions that you can use to manipulate the log statement. But it does work only with console methods that accept strings as arguments.

Check how using %c with our string in console.log() changes the output of the log statements.

Wrapping up

Alright! thatโ€™s the end of todayโ€™s post. I hope you guys liked it and maybe you would start using the above console methods in proper use-cases instead of using just console.log() for all your debugging.

โ€œIf your only tool is a hammer then every problem looks like a nail.โ€ โ€” Abraham Maslow

If you are someone who is interested in Frontend development and wants to know more about it, consider following me ๐Ÿ‘‡

Feedbacks, good or bad are appreciated ๐Ÿงก

Until next time, keep coding, keep learning and KEEP DEBUGGING. ๐Ÿ˜



Originally published at



Lalit Shahi

๐Ÿ‘จโ€๐Ÿ’ป Frontend dev | ๐Ÿ’ฐ Work @Walmart | ๐Ÿ‘จโ€๐Ÿซ Learning to teach | โœ๏ธ Write about Web ๐Ÿ’ป and Mobile๐Ÿ“ฑ Development | ๐ŸŽฏ On the road to Full-stack