Maison > interface Web > js tutoriel > le corps du texte

Comment vérifier si le constructeur d'un objet est un objet JavaScript ?

WBOY
Libérer: 2023-09-15 08:25:05
avant
614 Les gens l'ont consulté

如何检查对象的构造函数是否是 JavaScript 对象?

Dans cet article, nous allons vérifier si le constructeur d'un objet est un objet JavaScript. La propriété constructeur de toute variable JavaScript renvoie une référence au constructeur Object qui a créé l'objet instance. La valeur de cette propriété est une référence à la fonction elle-même.

Tous les objets ont un attribut constructeur, et les objets créés sans constructeur auront un attribut constructeur pointant vers ce type de constructeur d'objet de base.

Pour vérifier si le constructeur de la valeur fournie est un objet créé par le constructeur d'objet, nous devons comparer la valeur de la propriété du constructeur de l'objet avec la référence du constructeur d'objet correspondante. La propriété constructeur renvoie une référence au constructeur qui a créé l'instance.

Syntaxe

Ce qui suit est la syntaxe de la fonction pour vérifier si le constructeur d'un objet est un objet

function check(obj) {
   return obj.constructor === Object ? true : false
}
Copier après la connexion

Exemple

Dans le programme suivant, nous vérifions si le constructeur de six objets est un objet JavaScript.

<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>
Copier après la connexion

Lorsque vous cliquez sur le bouton "Vérifier", tous les cas de test s'exécuteront et afficheront la sortie comme vraie ou fausse. Comme nous pouvons le voir dans le code ci-dessus, si l'objet est créé par le constructeur d'objet, le résultat sera reflété comme vrai, sinon il sera affiché comme faux. Dans le code ci-dessus, les cas de test 1, 3 et 4 donnent la valeur true car ils sont tous créés à l'aide du constructeur d'objet. Ici, la propriété du constructeur d'objet renvoie une valeur égale à l'objet dans les cas 1, 3 et 4.

Exemple (Trouver le constructeur d'un objet)

Dans le programme ci-dessous, on retrouve les constructeurs de quatre objets différents créés selon des méthodes différentes. Nous appliquons la propriété Object.constructor pour trouver le constructeur de l'objet.

<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>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!