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: