ホームページ  >  記事  >  ウェブフロントエンド  >  Javascript_javascript スキルにおける等価演算と不等式演算

Javascript_javascript スキルにおける等価演算と不等式演算

WBOY
WBOYオリジナル
2016-05-16 18:28:49953ブラウズ
変換規則は次のとおりです。
オペランドの 1 つが Boolean 型の場合、まず数値型に変換され、false は 0 に変換され、true は 1 に変換されます。
一方のオペランドの型が文字列で、もう一方のオペランドが数値型の場合、文字列は比較のために数値に変換されます。
オペランドの 1 つが文字列型で、もう 1 つがオブジェクト型である場合、オブジェクトの toString メソッドが呼び出され、文字列が比較されます。
一方のオペランドの型が数値型で、もう一方のオペランド型がオブジェクト型の場合、オブジェクトは数値に変換され、数値比較が実行されます。

以下は、いくつかの特別な比較を指定します:
null と undefined は等しいです。
null と未定義は他の型に変換されません。
いずれかの演算の結果が NaN の場合、等価比較は false を返し、不等号比較は true を返します。両方のオペランドが NaN であっても、戻り結果は false のままであることに注意してください。つまり、NaN は NaN と等しくありません。
両方のオペランドがオブジェクトの場合、それらが参照する値を比較し、同じオブジェクトを参照している場合は true を返し、それ以外の場合は false を返します。

alert(null == 未定義); // true
alert(unknown == null) // true

alert(true == 1); >alert(false == 0); // true
alert(true == 2); // false

var obj = {}; / false

まったく同じ比較 === ですが、完全に等しくありません!==
まったく同じ比較は、変換なしで等しいかどうかを比較するために使用されます。例:

var a = " 100";

alert(a == b) // true
alert(a === b); 🎜>= 「100」は最初に数値 100 に変換され、次に数値 100 と比較され、結果が等しいため、= 比較は true を返します。
=== 文字列「100」は変換しないと数値 100 と等しくないため、比較は false を返します。

!== は、変換せずに等しいかどうかを比較するために使用されます。

alert(a != b); // false
alert(a !== b); // true

変換後は等しいため、最初のケースは false を返します。 2 番目のケースは true を返します。これは、変換を行わないと、一方は文字列、もう一方は数値であり、等しくないためです。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。