JS null adalah tipe objek
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'.
AjmalTheDeveloper