Table of Contents

Null vs Undefined

null and undefined are both special values that indicate the absence of a value. However, they are used in slightly different contexts and have some differences in behavior.

Null

null is a value that represents no value or no object.
It is an assignment value that represents the intentional absence of any object value.
You can explicitly assign null to a variable to indicate that the variable should have no value.
Comparing with loose equality ==, null is equal to undefined.

Undefined

undefined is a primitive value that indicates that a variable has not been initialized, and no value has been assigned to it.
When you declare a variable without assigning any value to it, it is undefined.
When you try to access an object property or an array element that doesn't exist, you get undefined.
Functions without a return statement return undefined.

Comparison

null == undefined returns true, as they are loosely equal. null === undefined returns false, as they are not strictly equal (they are two different types).
Example:

let a;
console.log(a); // undefined
 
a = null;
console.log(a); // null
 
console.log(null == undefined); // true
console.log(null === undefined); // false

Conclusion