¿Por qué es typeof nulo "objeto"?

Estoy leyendo el 'Capítulo 4 de Javascript profesional para desarrolladores web' y me dice que los cinco tipos de primitivas son: indefinido, nulo, booleano, número y cadena.

Sinull es un primitivo, porque hacetypeof(null) regreso"object"?

Eso no significaria esonull se pasa por referencia (supongo que aquí todos los objetos se pasan por referencia), por lo tanto, ¿NO es una primitiva?

Respuestas a la pregunta(5)

Su respuesta a la pregunta