Last Updated: September 01, 2020
·
54
· david262929

How to check if JavaScript Variable isEmpty

const isEmptyObject = (obj) => {
    for(let key in obj) {
        if(obj.hasOwnProperty(key)){
            return false;
        }
    }
    return true;
};

/**
 * Check is empty.
 *
 * ... usage ...
 *      isNullOrEmpty( '' ); // true
 *      isNullOrEmpty( {} ); // true
 *      isNullOrEmpty( [] ); // true
 *      isNullOrEmpty( null ); // true
 *      isNullOrEmpty( undefined ); // true
 *
 *      isNullOrEmpty( 'text' ); // false
 *      isNullOrEmpty( dom_element ); // false
 *      isNullOrEmpty( object ); // false
 *      isNullOrEmpty( [0] ); // false
 *      isNullOrEmpty( [ 'volume' : .5 ] ); // false
 *
 * @param obj
 * @returns {boolean}
 */
const isEmpty = (obj) => {
    // must test type of base object first
    if (typeof obj == "undefined") {
        return true;
    }

    // immediate
    if ( obj == null || !obj ) {
        return true;
    }

    // Array or associative array
    if( Array.isArray(obj)){
        if(!!Object.keys(obj).length){
            return false;
        }
        if(!obj.length){
            return true;
        }
    }

    // Empty object or DOM element
    if ( typeof obj == 'object' ){
        if(isDomElement(obj)){
            return false;
        }
        if(isEmptyObject(obj)){
            return true
        }
    }

    return false;
};