null. This is a value you can assign to a variable when you want to indicate that the variable has no particular value.
Well, kind-of. The fact is, null is a value, too -- just like true, false, NaN, and Infinity.
Contrary to popular belief, unassigned variables (and object properties) do not begin with a default value of
null. Instead, they begin with a special value called undefined.
Although it's difficult to distinguish between undefined and
null, the two values are, in fact, distinct, as demonstrated in the following scripts.
In Script 1,
value equals undefined because
window does not have a property named
wiper. In Script 2, however,
value is defined: It is defined as
null. Script 3 demonstrates that when undefined is compared to
null, the result is
null also equals
null, as shown in Script 4.
So what does all this mean? Fortunately, not much: In most cases, there is little need to distinguish between
null and undefined. However, if you have a habit of comparing variables to
null just to see if they are defined, don't forget that the results may be inconclusive. A true comparison means either that the variable is undefined or that the variable has been defined as