Comparing to null - !== vs != in JavaScript
It is even more simple
var x = null;
if (x) 6
if (!x) 7
the result is
undefined
7
The only value that doesn't equal itself in JavaScript is NaN
. If null === null
is false
, then your JavaScript engine has serious problems ;)
To make sure your conditional statement is well written, always use the braces.
var x = null;
if (x !== null) {
console.log('x is not equal to null');
}
Your global.User
is undefined
, not null
. When using ==
they evaluate to equal, but with ===
the items you are comparing need to be the same type. undefined
has the type undefined
and null
has the type object
.
undefined
and null
are very similar, but they generally mean two very different things. Usually undefined
is the result when something has had no value assigned to it, whereas null
has a value, and the value is explicitly set to "nothing".