There are several differences between null and undefined, which are sometimes understood as the same.
-
Definition:
-
Null: It is the intentional absence of the value. It is one of the primitive values of JavaScript.
-
Undefined: It means the value does not exist in the compiler. It is the global object.
-
-
Type:
Null: Object
Undefined: undefined
-
You can see refer to “==” vs “===” article.
null == undefined // true null === undefined // false
It means null is equal to undefined but not identical.
-
When we define a variable to undefined then we are trying to convey that the variable does not exist .
When we define a variable to null then we are trying to convey that the variable is empty. -
Differentiating using isNaN():
You can refer to NaN article for better
understanding.isNaN(2 + null) // false isNaN(2 + undefined) // true
-
Examples:
-
Null:
null ? console.log("true") : console.log("false") // false
Null is also referred as false.
-
Undefined:
When variable is not assigned a value
var temp; if(temp === undefined) console.log("true"); else console.log("false");
Output:
true
Accessing values which does not exist
var temp=['a','b','c']; if(temp[3] === undefined) console.log("true"); else console.log("false");
Output:
true
-