ホームページ >ウェブフロントエンド >フロントエンドQ&A >JavaScript ID 演算子とは何ですか?

JavaScript ID 演算子とは何ですか?

青灯夜游
青灯夜游オリジナル
2022-02-15 17:44:003178ブラウズ

JavaScript では、恒等演算子は「===」で、方程式の両側のオペランドが等しいかどうかを比較するために使用されます。比較演算中、「===」は 2 つのオペランドの値が等しいかどうかを比較するだけでなく、値が等しく、型が同じである限り、それらの型が同じであるかどうかもチェックします。 , true が返されます。

JavaScript ID 演算子とは何ですか?

このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

JavaScript では、恒等演算子は「===」で、方程式の両側のオペランドが等しいかどうかを比較するために使用されます。

「===」演算子が比較演算を実行すると、2 つのオペランドの値が等しいかどうかを比較するだけでなく、それらの型が同じかどうかもチェックされます。

アイデンティティ操作では、次の問題に注意する必要があります。

  • 両方のオペランドが単純な値の場合、値が同じで型が等しい限り、同じです、ちょうど等しいです。

  • 一方のオペランドが単純な値で、もう一方のオペランドが複合オブジェクトの場合、それらは一致しません。

  • 両方のオペランドが複合オブジェクトの場合、参照アドレスが同じかどうかを比較します。

(1) 型が異なる場合、同じ値であってはなりません

(2) 両方が数値であり、同じ値である場合、それらは等しいですが、少なくとも 1 つが NaN の場合、それらは等しくありません。 (値が NaN であるかどうかを判断するには、isNaN() を使用するだけで判断できます)

(3) 両方が文字列で、各位置の文字が同じであれば、それらは等しく、それ以外の場合は等しくなります。等しくありません。

(4) 両方の値が true または false の場合、それらは等しいです。

(5) 両方の値が同じオブジェクトまたは関数を参照している場合、それらは等しいです。それ以外の場合は等価ではありません

(6) 両方の値が null または未定義の場合、それらは等しいです

例 1

以下は特別なオペランド 合同比較。

console.log(null === undefined);  //返回false
console.log(0 === "0");  //返回false
console.log(0 === false);  //返回false

例 2

次は 2 つのオブジェクトの比較ですが、両方とも同じアドレスを参照しているため、true が返されます。

var a = {};
var b = a;
console.log(a === b);  //返回true

次の 2 つのオブジェクトは同じ構造ですが、アドレスが異なるため、一致しません。

var a = {};
var b = {};
console.log(a === b);  //返回false

例 3

複合オブジェクトの場合、主に参照アドレスが比較され、オブジェクトの値は比較されません。

var a = new String("abcd);  //定义字符串“abcd”对象
var b = new String("abcd);  //定义字符串“abcd”对象
console.log(a === b);  //返回false
console.log(a == b);  //返回false

上の例では、2 つのオブジェクトの値は等しいですが、参照アドレスが異なるため、待機する必要もなく、等しくもありません。したがって、複合オブジェクトの場合、等価 == 演算と合同 === 演算の結果は同じになります。

例 4

単純な値の場合、型が同じで値が等しい限り、式の演算プロセスや変更に関係なく、それらは一致します。変数、参照アドレス。

var a = "1" + 1;
var b = "11";
console.log(a ===b);  //返回true

例 5

式 (a>b || a==b) は、式 (a>=b) と正確には等しくありません。

var a = 1;
var b = 2;
console.log((a > b || a == b) == (a >= b));  //返回true,此时似乎相等

変数 a と b にそれぞれ null と未定義が割り当てられている場合、戻り値 false は 2 つの式が完全に等価ではないことを示します。

var a = null;
var b = undefined;
console.log((a > b || a == b) == (a >= b));  //返回false,表达式的值并非相等

null == 未定義は true に等しいため、式 (a > b || a == b) の戻り値は true ですが、式の戻り値 null >= 未定義は誤りです。

[関連する推奨事項: JavaScript 学習チュートリアル]

以上がJavaScript ID 演算子とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。