Se puede usar un objeto para verificar si existe usando 2 enfoques:
Método 1: Uso del operador typeof
El operador typeof devuelve el tipo de la variable en la que se llama como una string. La string de retorno para cualquier objeto que no existe es «indefinido». Esto se puede usar para verificar si un objeto existe o no, ya que un objeto que no existe siempre devolverá «indefinido».
Sintaxis:
if (typeof objectToBeTested != "undefined") // object exists else // object does not exist
Ejemplo:
<!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>
Producción:
- Antes de hacer clic en el botón:
- Después de hacer clic en el botón:
Método 2: usar una instrucción try-catch para detectar un error de referencia
Acceder a un objeto inexistente siempre generará un error de referencia . Se puede usar un bloque try-catch para determinar este error. Se puede acceder a cualquier propiedad aleatoria del elemento para que se produzca este error.
Sintaxis:
try { objectToBeTested.prop; // object exists } catch { // object does not exist }
Ejemplo:
<!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>
Producción:
- Antes de hacer clic en el botón:
- Después de hacer clic en el botón:
Publicación traducida automáticamente
Artículo escrito por sayantanm19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA