Chapter 24. Debugging

One of things about JavaScript development that used to be very challenging was debugging. When I'm writing a .NET application, I often rely on some great debugging tools like Visual Studio to speed up the process of finding and ironing out faults in my program. JavaScript is not dissimilar, with a rich exception model and some amazing tools to help you develop JavaScript and even debug the DOM and CSS. The value of mastering these tools can't be understated, and it's all too easy to go only skin deep with them. JavaScript has exploded in popularity so much that a lot of work has gone into writing great tools for debugging. In this chapter, I introduce most of the major tools and give a good idea of how to use them to their fullest advantage.

Types of Errors

There are three main classifications of errors in programming languages. JavaScript actually will throw quite a number of error types, but they are all essentially one of these fundamental types:

  • Syntax errors

  • Runtime errors

  • Semantic errors

Of the three, syntax errors are the most common. A syntax error occurs when the basic language rules (also known as the syntax) are violated. A common example is a double-dot for a member variable of an object:


Another common example is a missing end-bracket:

if (myVar > 10) {
    myVar = 10;
    if (myVar < 2) {
        myVar = 2;

The difficult thing about the latter example is that debugging tools sometimes do not know where to direct your attention, because they're not ...

Get JavaScript® Programmer's Reference now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.