ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript で値がオブジェクトに似ているかどうかを確認するにはどうすればよいですか?

JavaScript で値がオブジェクトに似ているかどうかを確認するにはどうすればよいですか?

WBOY
リリース: 2023-08-24 16:13:02
転載
537 人が閲覧しました

如何在 JavaScript 中检查一个值是否类似于对象?

JavaScript では、オブジェクトのような 値は、プリミティブではなく、未定義ではない値です。オブジェクトのような値とは、関数、配列、オブジェクトなど、プリミティブではない任意の値です。 JavaScript では、値がオブジェクトであるかどうかを確認するさまざまな方法があります。この記事では、JavaScriptで値がクラスオブジェクトかどうかを確認する3つの方法を紹介します。

typeof 演算子の使用

typeof typeof 演算子は、値の型をチェックするために使用される JavaScript の組み込み演算子です。 typeof 演算子は、値の型である文字列を返します。 typeof 演算子を使用すると、JavaScript の値がオブジェクトに類似しているかどうかを確認できます。

例 1

<!doctype html>
<html>
<head>
   <title>Examples</title>
</head>
<body>
   <div id="result1"></div>
   <div id="result2"></div>
   <div id="result3"></div>
   <script>
      document.getElementById("result1").innerHTML ="typeof {}: " + typeof {};
      document.getElementById("result2").innerHTML ="typeof []: " + typeof [];
      document.getElementById("result3").innerHTML ="typeof function(){}: " + typeof function(){};
   </script>
</body>
</html>
ログイン後にコピー

上記のコード スニペットの詳細な説明は次のとおりです:

スクリプト タグの最初のステートメントでは、空のオブジェクト {} をチェックしています。タイプ。これ typeof 演算子は、空のオブジェクトの文字列「object」を返します。 2 番目のステートメントでは、 空の配列 [] の型をチェックしています。 typeof 演算子は文字列を返します 「オブジェクト」とは空の配列を意味します。 3 番目のステートメントでは、 匿名関数 function(){}。 typeof 演算子は文字列「function」を返します。 匿名関数。

instanceof 演算子を使用します:

instanceof 演算子は、値が正しいかどうかを確認するために使用される JavaScript の組み込み演算子です。 コンストラクター関数のインスタンスです。 instanceof 演算子はブール値を返します value、値がコンストラクターのインスタンスの場合は true。 value はコンストラクターのインスタンスではありません。 instanceof 演算子を使用できます JavaScript の値がオブジェクトに似ているかどうかを確認します。

例 2

<!doctype html>
<html>
<head>
   <title>Examples</title>
</head>
<body>
   <div id="result1"></div>
   <div id="result2"></div>
   <div id="result3"></div>
   <script>
      document.getElementById("result1").innerHTML = "Is {} an instance of Object: " + ({} instanceof Object);
      document.getElementById("result2").innerHTML = "Is [] an instance of Array: " +([] instanceof Array);
      document.getElementById("result3").innerHTML ="Is function(){} is an instance of Function: " + (function(){} instanceof Function);
   </script>
</body>
</html>
ログイン後にコピー

スクリプト タグの最初のステートメントで、空のオブジェクト {} が オブジェクト コンストラクターのインスタンス。インスタンスオブ演算子が返す 空のオブジェクトのブール値 true。 2 番目のステートメントでは、次のことを確認します。 空の array[] は Array コンストラクターのインスタンスです。インスタンス演算子 空の配列に対してブール値 true を返します。 3 番目のステートメントで確認しているのは、 匿名関数 function(){} が Function コンストラクターのインスタンスである場合。 匿名関数の場合、instanceof 演算子はブール値 true を返します。

Object.prototype.toString() メソッド:

Object.prototype.toString() メソッドは、オブジェクトを文字列に変換するための JavaScript の組み込みメソッドです。 Object.prototype.toString() メソッドを使用すると、JavaScript の値がオブジェクトに似ているかどうかを確認できます。

例 3

<!doctype html>
<html>
<head>
   <title>Examples</title>
</head>
<body>
   <div id="result1"></div>
   <div id="result2"></div>
   <div id="result3"></div>
   <script>
      document.getElementById("result1").innerHTML = Object.prototype.toString.call({})
      document.getElementById("result2").innerHTML = Object.prototype.toString.call([])
      document.getElementById("result3").innerHTML = Object.prototype.toString.call(function(){})
   </script>
</body>
</html>
ログイン後にコピー

script タグ内の最初のステートメントでは、次のように使用します。 Object.prototype.toString() メソッドは、空のオブジェクト {} を文字列に変換します。これ Object.prototype.toString() メソッドは文字列「[object Object]」を返します。 空のオブジェクト。

script タグ内の 2 番目のステートメントでは、次を使用します。 Object.prototype.toString() メソッドは、空の array[] を文字列に変換します。これ Object.prototype.toString() メソッドは空の文字列「[オブジェクト配列]」を返します

3 番目のステートメントでは、Object.prototype.toString() メソッドを使用して、 匿名関数 function(){} を文字列に変換します。これ Object.prototype.toString() メソッドは文字列「[object Function]」を返します。 匿名関数。

結論

このチュートリアルでは、値がオブジェクトに類似しているかどうかを確認する 3 つの異なる方法を検討しました。 JavaScript。 typeof 演算子、instanceof 演算子、および Object.prototype.toString() メソッド。これらのメソッドはすべて、値が正しいかどうかを確認するために使用できます。 JavaScript のオブジェクトに似ています。

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

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート