この記事では、オブジェクトのコンストラクターが JavaScript オブジェクトであるかどうかを確認します。 JavaScript 変数のコンストラクター プロパティは、インスタンス オブジェクトを作成した Object コンストラクターへの参照を返します。このプロパティの値は、関数自体への参照です。
すべてのオブジェクトにはコンストラクター属性があり、コンストラクターを使用せずに作成されたオブジェクトには、基本オブジェクトのコンストラクター型を指すコンストラクター属性があります。
指定された値のコンストラクターがオブジェクト コンストラクターによって作成されたオブジェクトであるかどうかを確認するには、オブジェクトのコンストラクター プロパティ値を、対応するオブジェクト コンストラクター参照と比較する必要があります。コンストラクター プロパティは、インスタンスを作成したコンストラクターへの参照を返します。
以下は、オブジェクトのコンストラクターが Object であるかどうかを確認する関数の構文です。
function check(obj) { return obj.constructor === Object ? true : false }
次のプログラムでは、次のことを確認します。 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 サイトの他の関連記事を参照してください。