Sentry Answers>JavaScript>

Undefined versus null in JavaScript

Undefined versus null in JavaScript

David Y.

The Problem

What is the difference between the values undefined and null in JavaScript?

The Solution

When a variable has been declared but not yet assigned a value, it will have the type and value undefined. undefined is one of JavaScript’s primitive types.

Click to Copy
let myVar; console.log(myVar); // will print "undefined" console.log(typeof myVar); // will also print "undefined"

When a variable has not been declared or assigned, it will also be of type undefined and throw a ReferenceError when accessed. Therefore, typeof will produce the same result for declared but undefined variables and undeclared variables.

Click to Copy
console.log(undeclaredVar); // will throw a ReferenceError console.log(typeof undeclaredVar); // will print "undefined"

In contrast, null is a value that represents nothing. Think of null as an empty container and undefined as the absence of a container. A variable will only have the value null when it is explicitly assigned, and will be of type object.

Click to Copy
const myVar = null; console.log(myVar); // will print "null" console.log(typeof myVar); // will print "object"

The difference between undefined and null is important when using JavaScript’s equality operators. null and undefined are considered the same when using loose equality (==) but not when using strict equality (===).

Click to Copy
console.log(undefined == null); // will print "true" console.log(undefined === null); // will print "false"
  • YoutubeHow Sentry.io saved me from disaster (opens in a new tab)
  • ResourcesImprove Web Browser Performance - Find the JavaScript code causing slowdowns (opens in a new tab)
  • SentryJavascript Error Monitoring & Tracing (opens in a new tab)
  • ResourcesJavaScript Frontend Error Monitoring 101 (opens in a new tab)
  • Syntax.fmListen to the Syntax Podcast (opens in a new tab)
  • Syntax.fm logo
    Listen to the Syntax Podcast (opens in a new tab)

    Tasty treats for web developers brought to you by Sentry. Get tips and tricks from Wes Bos and Scott Tolinski.

    SEE EPISODES

Considered “not bad” by 4 million developers and more than 150,000 organizations worldwide, Sentry provides code-level observability to many of the world’s best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games. Each month we process billions of exceptions from the most popular products on the internet.