JavaScript null vs undefined
In JavaScript null and undefined are rather strange values, both serve a very similar purpose, which is to indicate the absence of a value.
Null
Null is used to assign a reference to an object that you will no longer need or, directly, you want to have the variable declared but initialize it with a value that you still do not know what it will be exactly. In all these cases the best thing to do is to assign a null value.
var miVariable = null;
console.log(miVariable);
//log null
undefined
For undefined means that the variable is declared but its value has not yet been defined.
var miVariable
console.log(miVariable);
//log null
Both values are values of type false, so if you do a non-strict comparison you will get true undefined, which means that the variable is declared but its value has not yet been defined.
if (null == undefined) {
return true
}
//log true
and if you do a strict comparison, because they are not really the same, it returns a false:
if (null === undefined) {
return true
}
return false
//log false