Codecademy Logo

Learn JavaScript Syntax: Errors and Debugging

ReferenceError

A ReferenceError is a type of error thrown when a variable is used that does not exist.

To prevent this error, all variables should be properly declared beforehand.

// Example of a ReferenceError in JavaScript
let firstName = "John";
// Here, we get a ReferenceError because lastName has not been declared
console.log(firstName + lastName);

MDN JavaScript error documentation

The MDN JavaScript error documentation contains information about JavaScript error types, properties, and Methods. The document shows how to prevent and create these errors. This document is most helpful when developers come across an error they are not familiar with.

SyntaxError

A SyntaxError is a type of error that is thrown when there is a typo in the code, creating invalid code - code which cannot be interpreted by the compiler.

Some common causes of a SyntaxError are:

  • Missing opening or closing brackets, braces, or parentheses
  • Missing or invalid semicolons
  • Misspelling of variable names or functions
# Example of a SyntaxError in Python
# A colon is missing after the closing parenthesis
def sum(a, b)
return a + b

TypeError

A TypeError is a type of error thrown when an attempt is made to perform an operation on a value of the incorrect type.

One example of a TypeError is using a string method on a numerical value.

# Example of a TypeError in Python
number = 1
string = "one"
# Here, we try to concatenate the number and string which will yield a TypeError
print(number + string)

Javascript error stack trace

An error stack trace tells a developer that it has detected an error within the code. Along with, which line to find the error, what type of error has occurred and a description of the error.

Javascript documentation

Many times we can track down bugs, but still, be confused about how to solve it. During these situations, we can look at documentation. For JavaScript, the MDN JavaScript web docs is a powerful resource. If we are still confused after looking at this we can go to StackOverflow - a question and answer forum where programmers post issues and other programmers discuss and vote for solutions.

0