Knowledge Base Articles » KB100208: Shedding Light on the JavaScript Special Values null and undefined.

JavaScript, unlike VBScript, does not provide a function to test for null. This article defines the special values null and undefined and provides some examples of how to test for them in JavaScript.

undefined:
A special value given to variables after they are created and before a value has been assigned to them.

null:
A value indicating that a variable contains no valid data. null is the result of either:
1) An explicit assignment of null to a variable; or
2) An operation between expressions that contain null.

If a variable is null or undefined, the variable will evaluate to false.

With this said, if you do not use null in your code, you need not test for it. If you do wish to filter out null and undefined variables you should use the "if(x)" test below.

var x
if (x) //x is undefined therefore this will evaluate to false


var x
x = null
if (x) //x is null therefore this will evaluate to false


Conversely, the "if (!x)" test will only succeed if x is either null or undefined.

To explicitly test for the undefined value you should use:
if (vartype(x) == undefined)

To explicitly test for the null value you should use:
if (x == null)

Try running this code:

<html>
<body>
TEST START
<br>
<script type="text/javascript">
var x;
if( x == undefined )
   alert("x is undefined");
else
   alert("x is defined");
var y;
y = null;
if( y == null )
   alert("y is null");
else
   alert("y is not null");
</script>
<br>
TEST END
</body>
</html>