¿Cómo comprobar si el valor proporcionado es un objeto creado por el constructor de objetos en JavaScript?

En este artículo, aprenderemos cómo comprobar si el valor proporcionado es un objeto creado por el constructor de objetos en JavaScript. Casi todos los valores en JavaScript son objetos, excepto los valores primitivos.

Enfoque: Sabemos que un objeto tendrá sus propias propiedades y métodos. Para cualquier objeto de JavaScript, hay una propiedad conocida como propiedad del constructor . Esta propiedad de constructor básicamente devuelve una referencia a la función de constructor que creó la instancia. Por ejemplo, la propiedad constructora de una array devolverá Array como resultado. De manera similar, para un objeto, devolverá un Objeto. Tenga en cuenta que estos no son valores de string, sino referencias a la función constructora. 

La comprobación de un valor, si fue creado por el constructor de objetos, se puede realizar simplemente comparando el valor de la propiedad del constructor del objeto con la referencia de función del constructor de objetos correspondiente. Esto devuelve un valor booleano dependiendo del resultado de la comparación.

Sintaxis:

return (obj.constructor === Object);

Ejemplo:

HTML

<html>
<body>
  <h1 style="color: green;">
    GeeksforGeeks
  </h1>
  <h3>How to check whether an object is
    created by Object constructor or not</h3>
  <p>Click on the button to run all test cases</p>
  
  <p>Test Case 1: {}</p>
  
  <p>Created by Object constructor: 
    <span id="testcase1"></span></p>
  <p>Test Case 2: new Object</p>
  
  <p>Created by Object constructor: 
    <span id="testcase2"></span></p>
  
  <p>Test Case 3: new Object()</p>
  
  <p>Created by Object constructor: 
    <span id="testcase3"></span></p>
  
  <p>Test Case 4: []</p>
  
  <p>Created by Object constructor: 
    <span id="testcase4"></span></p>
  
  <p>Test Case 5: "GeeksforGeeks"</p>
  
  <p>Created by Object constructor: 
    <span id="testcase5"></span></p>
  
  
  <button onclick="executeTestCases()">Run</button>
  <script>
  
    // Function to check if created by
    // Object constructor
    function checkCreatedByObjectConstructor(obj) {
      return obj.constructor === Object ? true : false
    }
  
    function executeTestCases() {
      document.getElementById("testcase1").textContent =
        checkCreatedByObjectConstructor({});
  
      document.getElementById("testcase2").textContent =
        checkCreatedByObjectConstructor(new Object);
  
      document.getElementById("testcase3").textContent =
        checkCreatedByObjectConstructor(new Object());
  
      document.getElementById("testcase4").textContent =
        checkCreatedByObjectConstructor([]);
  
      document.getElementById("testcase5").textContent =
        checkCreatedByObjectConstructor("GeeksforGeeks");
    }
  </script>
</body>
</html>

Producción:

Publicación traducida automáticamente

Artículo escrito por JoyDas y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *