DEV Community

Cover image for JavaScript Developers Just Learned They Can Use debugger Instead of console.log()
Safdar Ali
Safdar Ali

Posted on

JavaScript Developers Just Learned They Can Use debugger Instead of console.log()

JavaScript developers are known for one thing: a love for console.log(). For years, it’s been the go-to for debugging, scattered all over the codebase like confetti. But recently, many developers have discovered the power of the debugger keyword, an alternative that might just put console.log() in the backseat.

The Problem with console.log()

Using console.log() is like scribbling notes everywhere—you see it once, maybe forget about it, and might even leave it behind. Sure, it’s quick and often helpful, but it comes with limitations.

  • Messy Console: With multiple console.log() statements, your console becomes a crowded place where important details easily get lost.
  • Manual Process: You have to look at each output one by one and try to piece together what’s happening.
  • Lack of Control: Once the code runs, it’s gone. console.log() can’t pause the code at a critical point for in-depth inspection.

Enter debugger

The debugger statement is simple yet powerful. Introduced in ECMAScript 5, it’s been available for years but overlooked in favor of console.log(). The debugger statement works by pausing your code wherever you place it, opening up a developer’s toolbox of insights.

When the code hits debugger, execution pauses, allowing you to:

  • Inspect Variables: Check each variable’s value in real-time.
  • View the Call Stack: See how functions were called and in what order.
  • Step Through Code: Move one line at a time to understand how the logic flows.

How to Use debugger

Using debugger is as simple as typing debugger; in your code where you want it to stop:

function calculateSum(a, b) {
    debugger; // Code execution will pause here
    const sum = a + b;
    return sum;
}

calculateSum(5, 10);
Enter fullscreen mode Exit fullscreen mode

Once the code hits debugger;, the browser pauses, showing you an interactive view of your variables, the call stack, and even the current scope.

Why debugger Wins Over console.log()

1. No More Guesswork

With debugger, you can stop at any point in your code and explore. No need to add more console.log() statements hoping one of them reveals what’s wrong.

2. View Context and Scope

The debugger provides a full view of your code’s environment, showing the scope of every variable and even letting you inspect closure-based variables. console.log() just can’t compete in this department.

3. Step-Through Debugging

Using debugger with DevTools lets you go line by line, so you can pinpoint exactly where something goes awry. With console.log(), you’re left to piece it together yourself.

Breaking the console.log() Habit

If you’ve been a console.log() loyalist, you’re not alone. Changing habits can be tough. But once you get comfortable with debugger, your debugging will be faster, clearer, and much more efficient.

// Old Way
function calculate(a, b) {
    console.log("Calculating sum of:", a, b);
    let sum = a + b;
    console.log("Sum:", sum);
    return sum;
}

// New Way
function calculate(a, b) {
    debugger;
    let sum = a + b;
    return sum;
}
Enter fullscreen mode Exit fullscreen mode

Combining debugger with DevTools: A Power Move

To unlock the full power of debugger, pair it with Chrome DevTools. Here’s how:

  1. Open DevTools: Right-click your page, select “Inspect,” and go to the “Sources” tab.
  2. Run Your Code: Place debugger in your code, then reload your page.
  3. Explore and Debug: Use the play and step-through buttons, view the call stack, or inspect variables in different scopes.

A Time and Code Saver

Using debugger can keep your code clean and save time. Rather than leaving a trail of console.log() statements all over, use debugger to avoid clutter, gain control, and get back to what you do best—coding.

Conclusion

Console logging will always have a place in JavaScript, but moving beyond it with debugger will make you a better, faster, and cleaner coder. So next time you find yourself reaching for console.log(), try debugger and see the difference it makes. It’s like stepping from the old-school way of debugging into the power of a full developer toolkit.

That's all for today.

And also, share your favourite web dev resources to help the beginners here!

Connect with me:@ LinkedIn and checkout my Portfolio.

Explore my YouTube Channel! If you find it useful.

Please give my GitHub Projects a star ⭐️

Thanks for 32237! 🤗

Buy Me A Coffee

Top comments (1)

Collapse
 
safdarali profile image
Safdar Ali

Subscribe to my YouTube Channel if you find it helpful! Subscribing is free, and it will motivate me to stay active here. 😊