The History of "typeof null"

In JavaScript, typeof null is 'object', which incorrectly suggests that null is an object. This is a bug and one that unfortunately can’t be fixed, because it would break existing code.

- Axel Rauschmayer

When the javascript was created, null was considered a special type that represents the Null Pointer. Values were stored in 32 bit units which consisted of a small type tag.

000: object
  1: int
010: double
100: string
110: boolean

Null simply was represented by zero's because it's the representation of void or nothing, something that already represents object's as you can see above.