Skip to content
Related Articles

Related Articles

How to check whether an object exists in javascript ?
  • Last Updated : 28 Jul, 2020

An object can be used to check if it exists using 2 approaches:

Method 1: Using the typeof operator
The typeof operator returns the type of the variable on which it is called as a string. The return string for any object that does not exist is “undefined”. This can be used to check if an object exists or not, as a non-existing object will always return “undefined”.

Syntax:




if (typeof objectToBeTested != "undefined")
    // object exists
else
    // object does not exist

Example:




<!DOCTYPE html>
<html>
  
<head>
    <title>How to check whether an 
      object exists in javascript</title>
</head>
  
<body>
    <h1 style="color: green">
      GeeksforGeeks
  </h1>
    <b>How to check whether an 
      object exists in javascript</b>
    
    <p>Click on the button to
      check if the object exists</p>
    
    <p>Output for existing object: 
      <span class="outputExist"></span></p>
    <p>Output for non existing object: 
      <span class="outputNonExist"></span></p>
  
    <button onclick="checkObjectExists()">
      Click here
  </button>
    <script type="text/javascript">
        function checkObjectExists() {
            // create an existing object for comparison
            let existingObject = {};
  
            if (typeof existingObject != "undefined") {
                ans = true;
            } else {
                ans = false
            }
  
            document.querySelector(
              '.outputExist').textContent = ans;
  
            if (typeof nonExistingObject != "undefined") {
                ans = true;
            } else {
                ans = false;
            }
  
            document.querySelector(
              '.outputNonExist').textContent = ans;
        }
    </script>
</body>
  
</html>

Output:



  • Before clicking the button:
    typeof-before
  • After clicking the button:
    typeof-after

Method 2: Using a try-catch statement to catch a Reference error
Accessing a non-existing object will always throw a Reference error. A try-catch block can be used to determine this error. Any random property of the element can be accessed for this error to be thrown.

Syntax:




try {
    objectToBeTested.prop;
    // object exists
}
catch {
    // object does not exist
}

Example:




<!DOCTYPE html>
<html>
  
<head>
    <title>How to check whether 
      an object exists in javascript</title>
</head>
  
<body>
    <h1 style="color: green">
      GeeksforGeeks
  </h1>
    <b>How to check whether an 
      object exists in javascript</b>
    
    <p>Click on the button to check 
      if the object exists</p>
    <p>Output for existing object:
      <span class="outputExist"></span></p>
    
    <p>Output for non existing object: 
      <span class="outputNonExist"></span></p>
  
    <button onclick="checkObjectExists()">Click here</button>
    <script type="text/javascript">
        function checkObjectExists() {
  
            // create an existing object for comparison
            let existingObject = {};
  
            try {
                // accessing a random property
                existingObject.prop;
                ans = true;
            } catch {
                ans = false;
            }
  
            document.querySelector(
              '.outputExist').textContent = ans;
  
            try {
                // accessing a random property
                nonExistingObject.prop;
                ans = true;
            } catch {
                ans = false;
            }
  
            document.querySelector(
              '.outputNonExist').textContent = ans;
  
        }
    </script>
</body>
  
</html>

Output:

  • Before clicking the button:
    try-catch-before
  • After clicking the button:
    try-catch-after

full-stack-img

My Personal Notes arrow_drop_up
Recommended Articles
Page :