difference between null and undefined in JavaScript

Author: Satz | Date: October 2, 2014

How do we differentiate between ‘null’ and ‘undefined’, in JavaScript? what do ‘undefined’ and ‘null’ have in common? Read on to understand.
Both ‘undefined’ and ‘null’ are JavaScript data types. Other data types are ‘String’, ‘Number’, ‘Boolean’, ‘Array’ and ‘Object’. Converting both ‘undefined’ and ‘null’ into a Boolean will return ‘false’.

Boolean(null); // returns false
Boolean(undefined); // returns false


A variable declared, but no value assigned to it is ‘undefined’. In other words, the value of a variable with no value isĀ ’undefined’. The typeof(undefined) is ‘undefined’. ‘undefined’ is a constant.

var foo;
foo; // is undefined      
typeof(foo); // is undefined


‘null’ is an assignment value. ‘null’ can be used to set a variable as ‘no value’. So using ‘null’ we can empty a variable value. The typeof(null) is an Object.

var bar = null;
bar; // is null;
typeof(bar); // is Object