What is a difference between null and undefined in JS?

Javascript Interview Question #1
Difficulty: EASY
Popularity: 3/5

The difference between null and undefined in JS is:

undefined usually means that a variable has been declared but not defined.

While null is used to indicate that a variable intentionally has no value.

In JavaScript, null and undefined are both values that represent absence of a meaningful value, but they have slightly different meanings.


null and undefined in javascript

undefined in JavaScript represents a variable that has been declared but has not been assigned a value yet, or a property that does not exist in an object.

It is a primitive value that is automatically assigned to variables that have just been declared or to function parameters that have not been provided with a value.


let x;
console.log(x); // Output: undefined


null and undefined in javascript

null is a special value in JavaScript that represents the intentional absence of any object value.

It is typically used to explicitly indicate that a variable or object property does not have a value, or to reset a variable to no value.


let y = null;
console.log(y); // Output: null

Null vs Undefined: Pros and Cons

null and undefined in javascript

A table summarizing the pros and cons of using null and undefined in JavaScript:

ProsExplicitly indicates absence of valueAutomatically assigned to uninitialized variables
Can be used to reset a variable to no valueAutomatically assigned to missing object properties
Useful for checking if a variable has been intentionally set to no value
ConsRequires explicit assignment to useCan be confusing when encountered unexpectedly
May be used inconsistentlyCan lead to bugs if not handled properly
Cannot be used to distinguish between missing and uninitialized properties in objects
difference between null and undefined in JS

Bottom line

null and undefined in javascript

The bottom line is to use null when you want to explicitly indicate the absence of a value, or when you need to reset a variable to no value.

Use undefined for variables or object properties that have not been initialized or do not exist yet

What to do next?

See Javascript Question #2: “What is difference between == and === in JS?

Ilyas Seisov

Ilyas Seisov

UI/Web designer and Javascript developer with Master's degree in Computer Science. He helps businesses transform ideas into reality with the power of design and code. Ilyas creates modern, aesthetic web applications and reads minds in a free time.

Leave a Reply

Your email address will not be published. Required fields are marked *