User Tools

Site Tools


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 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 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.


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

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


  • Use null when you want to intentionally signify that there is no value.
  • undefined usually means that a variable has not been assigned a value, or a function is not returning anything. So it may be considered the unintentional absence of the value.
java-script/null-vs-undefined.txt · Last modified: 2023/08/10 03:53 by odefta