js null is object typeof

JavaScript
 What it is  	 		What output shows you 
 				when you write |console.log(typeof(variable);
Undefined:					"undefined"
Null:						"object"
Boolean:					"boolean"
Number:						"number"
String:						"string"
Function object:			"function"
E4X XML object:				"xml"
E4X XMLList object:			"xml"
NodeList					"Nodelist [more data]"
HTMLCollection				"HTMLCollection(1) [more data]"
In the first implementation of JavaScript, JavaScript values were represented 
as a type tag and a value. The type tag for objects was 0. null was represented 
as the NULL pointer (0x00 in most platforms). Consequently, null had 0 as type 
tag, hence the "object" typeof return value. (reference)

A fix was proposed for ECMAScript (via an opt-in), but was rejected. 
It would have resulted in typeof null === 'null'.yes it is!
Source

Also in JavaScript: