Search

How to determine if variable is undefined or null in JavaScript

post-title

Use the equality operator (==)

In JavaScript if a variable has been declared, but has not been assigned a value, is automatically assigned the value undefined. Therefore, if you try to display the value of such variable, the word "undefined" will be displayed. Whereas, the null is a special assignment value, which can be assigned to a variable as a representation of no value.

In simple words you can say a null value means no value or absence of a value, and undefined means a variable that has been declared but no yet assigned a value.

To check if a variable is undefined or null you can use the equality operator == or strict equality operator === (also called identity operator). Let's take a look at the following example:

<script>
    var firstName;
    var lastName = null;
    // Try to get non existing DOM element
    var comment = document.getElementById('comment');
    
    console.log(firstName); // Print: undefined
    console.log(lastName);  // Print: null
    console.log(comment);   // Print: null
    
    console.log(typeof firstName); // Print: undefined
    console.log(typeof lastName);  // Print: object
    console.log(typeof comment);   // Print: object
    
    console.log(null == undefined)  // Print: true    
    console.log(null === undefined) // Print: false
    
    /* Since null == undefined is true, the following statements will catch both null and undefined */
    if(firstName == null){
        alert('Variable "firstName" is undefined.');
    }    
    if(lastName == null){
       alert('Variable "lastName" is null.');
    }
    
    /* Since null === undefined is false, the following statements will catch only null or undefined  */
    if(typeof comment === 'undefined') {
        alert('Variable "comment" is undefined.');
    } else if(comment === null){
        alert('Variable "comment" is null.');
    }
</script>