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"