Heim >Web-Frontend >js-Tutorial >Wie überprüfe ich, ob der Konstruktor eines Objekts ein JavaScript-Objekt ist?
In diesem Artikel prüfen wir, ob der Konstruktor eines Objekts ein JavaScript-Objekt ist. Die Konstruktoreigenschaft einer beliebigen JavaScript-Variablen gibt einen Verweis auf den Object-Konstruktor zurück, der das Instanzobjekt erstellt hat. Der Wert dieser Eigenschaft ist ein Verweis auf die Funktion selbst.
Alle Objekte haben ein Konstruktorattribut, und Objekte, die ohne Konstruktor erstellt wurden, verfügen über ein Konstruktorattribut, das auf den Konstruktortyp dieses Basisobjekts verweist.
Um zu überprüfen, ob der Konstruktor des bereitgestellten Werts ein vom Objektkonstruktor erstelltes Objekt ist, müssen wir den Konstruktor-Eigenschaftswert des Objekts mit der entsprechenden Objektkonstruktorreferenz vergleichen. Die Eigenschaft „Konstruktor“ gibt einen Verweis auf den Konstruktor zurück, der die Instanz erstellt hat.
Das Folgende ist die Funktionssyntax, um zu überprüfen, ob der Konstruktor eines Objekts ein Objekt ist
function check(obj) { return obj.constructor === Object ? true : false }
Im folgenden Programm prüfen wir, ob der Konstruktor von sechs Objekten ein JavaScript-Objekt ist.
<html> <body> <h3 >Check if Constructor is Object</h3> <p> Click on the check button all test cases </p> <p>Test Case 1: {} </p> <p>Constructor is Object: <span id="testcase1"> </span> </p> <p>Test Case 2: new Number(3)</p> <p>Constructor is Object: <span id="testcase2"> </span> </p> <p>Test Case 3: new Object </p> <p>Constructor is Object: <span id="testcase3"> </span> </p> <p>Test Case 4: new Object() </p> <p>Constructor is Object: <span id="testcase4"> </span> </p> <p> Test Case 5: [] </p> <p>Constructor is Object: <span id="testcase5"> </span> </p> <p>Test Case 6: "Object Constructor" </p> <p>Constructor is Object: <span id="testcase6"> </span> </p> <button onclick="runTestCases()"> Check </button> <script> // This function will check if created by Object constructor function check(obj) { return obj.constructor === Object ? true : false } function runTestCases() { document.getElementById("testcase1").textContent = check({}); document.getElementById("testcase2").textContent = check(new Number(3)); document.getElementById("testcase3").textContent = check(new Object); document.getElementById("testcase4").textContent = check(new Object()); document.getElementById("testcase5").textContent = check([]); document.getElementById("testcase6").textContent = check("Object Conctructor"); } </script> </body> </html>
Wenn Sie auf die Schaltfläche „Prüfen“ klicken, werden alle Testfälle ausgeführt und die Ausgabe wird als wahr oder falsch angezeigt. Wie wir im obigen Code sehen können, wird das Ergebnis als wahr wiedergegeben, wenn das Objekt vom Objektkonstruktor erstellt wird, andernfalls wird es als falsch angezeigt. Im obigen Code ergeben die Testfälle 1, 3 und 4 „true“, da sie alle mit dem Objektkonstruktor erstellt wurden. Hier gibt die Eigenschaft des Objektkonstruktors in den Fällen 1, 3 und 4 einen Wert zurück, der dem Objekt entspricht.
Im folgenden Programm finden wir die Konstruktoren von vier verschiedenen Objekten, die mit unterschiedlichen Methoden erstellt wurden. Wir wenden die Eigenschaft „Object.constructor“ an, um den Konstruktor des Objekts zu finden. <html>
<body>
<h3> Find the Constructor of Objects</h3>
<p id="demo"></p>
<script>
function Student(first, last, course) {
this.firstName = first;
this.lastName = last;
this.course = course;
}
const stud1 = new Student("John", "Doe", "M.Tech");
const stud2 = new Object();
const stud3 = new Object;
var stud4 = {
firstName: "John",
lastName: "Doe",
course: "M.Tech"
}
document.getElementById("demo").innerHTML +=`Constructor of stud1: ${stud1.constructor} <br>`;
document.getElementById("demo").innerHTML +=`<br>Constructor of stud2: ${stud2.constructor} <br>`;
document.getElementById("demo").innerHTML +=`<br>Constructor of stud3: ${stud3.constructor} <br>`;
document.getElementById("demo").innerHTML +=`<br>Constructor of stud4: ${stud4.constructor} <br>`;
</script>
</body>
</html>
Das obige ist der detaillierte Inhalt vonWie überprüfe ich, ob der Konstruktor eines Objekts ein JavaScript-Objekt ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!