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!