null in JavaScript

1. Introduction

null in JavaScript is an object which represents the intentional absence of value. null is a primitive value in JavaScript. null is treated as falsy for boolean operations.

null is different from undefined which also means absence of value. Variables which are declared but not assigned any value are initialized to default value of undefined. When a variable is assigned null, it is intentional as we are explicitly assigning value to it.

Let us understand this with an example.

var x = new String();

Here, x is referring to the object of string. When we assign null to x, i.e.

var x = null;

It means x is not referring to any object.

2. typeof with null

typeof operator returns object when used with null. null is an object in JavaScript.

console.log(typeof null); // object

3. Comparison of null

null will return true with both standard equality operator(==) and strict equality operator(===).

console.log(null == null);   //true
console.log(null === null);  //true

4. null is not equivalent to undefined

null is intentional absence of value and is not equivalent to undefined.

console.log(null === undefined);  //false

However, using standard equality operator (==) to compare null with undefined will return true.

console.log(null == undefined); //true

5. Coercion

null gets coerced to the number 0 when used with mathematical operator with numbers. null gets coerced to string null when used with strings. So you should be careful while using null with operators.

console.log(null + null); //0
console.log(1 + null); //1
console.log("1" + null); //1null

However, while using in boolean operations, null is treated as falsy.

console.log(null == 0); // false
console.log(null === 0); // false

6. Conclusion

In this tutorial, we discussed null in JavaScript. Knowledge of null and its usage in comparison is very important. null and undefined code snippets are very important from interview point of view. Understanding of null is very important in writing boolean operations which are a part of almost every program.

We hope this tutorial was informative.