Null vs Undefined

En JavaScript, undefined significa que una variable ha sido declarada pero aún no se le ha asignado un valor.

null es un valor de asignación. Puede ser asignado a una variable como una representación de valor nulo.

var a;
console.log(typeof(a));
a = 1;
console.log(typeof(a));
a = null;
console.log(typeof(a));
		
Utilizando el operador typeof sobre undefined regresa "undefined"

Utilizando el operador typeof sobre null regresa "object"
Código