How to Check If a Value is an Object in JavaScript
Topic: JavaScript / jQueryPrev|Next
Answer: Use the typeof Operator
                You can use the typeof operator to check whether a value is an object or not in JavaScript. But, the typeof operator also returns "object" for null and arrays, so we need to consider that too.
Here's an example which offer a simple solution to this problem:
Example
Try this code »// Defining a function
function isObject(val) {
    if(typeof val === 'object' && val !== null && Array.isArray(val) === false){
        return true;
    } else {
        return false;
    }
}
// Testing few values    
console.log(isObject({}));  // Prints: true
console.log(isObject({name: "Alice", age: 24}));  // Prints: true
console.log(isObject(new Date()));  // Prints: true
console.log(isObject([1, 2, 3]));  // Prints: false
console.log(isObject(null));  // Prints: false
console.log(isObject("John"));  // Prints: false
console.log(isObject(function(){}));  // Prints: false
console.log(isObject(8));  // Prints: false
                    See the tutorial on JavaScript Data Types to learn more about data types available in JavaScript.
Related FAQ
Here are some more FAQ related to this topic:

