ホームページ  >  記事  >  ウェブフロントエンド  >  オブジェクトのコンストラクターが JavaScript オブジェクトかどうかを確認するにはどうすればよいですか?

オブジェクトのコンストラクターが JavaScript オブジェクトかどうかを確認するにはどうすればよいですか?

WBOY
WBOY転載
2023-09-15 08:25:05594ブラウズ

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

この記事では、オブジェクトのコンストラクターが JavaScript オブジェクトであるかどうかを確認します。 JavaScript 変数のコンストラクター プロパティは、インスタンス オブジェクトを作成した Object コンストラクターへの参照を返します。このプロパティの値は、関数自体への参照です。

すべてのオブジェクトにはコンストラクター属性があり、コンストラクターを使用せずに作成されたオブジェクトには、基本オブジェクトのコンストラクター型を指すコンストラクター属性があります。

指定された値のコンストラクターがオブジェクト コンストラクターによって作成されたオブジェクトであるかどうかを確認するには、オブジェクトのコンストラクター プロパティ値を、対応するオブジェクト コンストラクター参照と比較する必要があります。コンストラクター プロパティは、インスタンスを作成したコンストラクターへの参照を返します。

構文

以下は、オブジェクトのコンストラクターが Object であるかどうかを確認する関数の構文です。

function check(obj) {
   return obj.constructor === Object ? true : false
}

Example

次のプログラムでは、次のことを確認します。 6 オブジェクトのコンストラクターが 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>

[Check] ボタンをクリックすると、すべてのテスト ケースが実行され、出力が true または false として表示されます。上記のコードでわかるように、オブジェクトがオブジェクト コンストラクターによって作成された場合、結果は true として反映され、それ以外の場合は false として表示されます。上記のコードでは、テスト ケース 1、3、および 4 はすべてオブジェクト コンストラクターを使用して作成されているため、結果は true になります。ここで、オブジェクト コンストラクター プロパティは、ケース 1、3、および 4 のオブジェクトと同じ値を返します。

例 (オブジェクトのコンストラクターを見つける)

次のプログラムでは、異なるメソッドを使用して作成された 4 つの異なるオブジェクトのコンストラクターを見つけます。 Object.constructor プロパティを使用して、オブジェクトのコンストラクターを見つけます。

えええええ

以上がオブジェクトのコンストラクターが JavaScript オブジェクトかどうかを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。