How to check whether an object exists in javascript ?

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:

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Example:

filter_none

edit
close

play_arrow

link
brightness_4
code

<!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>

chevron_right


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:

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Example:

filter_none

edit
close

play_arrow

link
brightness_4
code

<!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>

chevron_right


Output:

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

full-stack-img




My Personal Notes arrow_drop_up

Im listening

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.



Improved By : Akanksha_Rai