ホームページ > 記事 > ウェブフロントエンド > JavaScript で位相が等しいかどうかを判断する方法
JavaScript で等しいかどうかを判断する方法: 1. 「==」または「!=」演算子を使用して、2 つのオペランドの値が等しいかどうかを比較します。2. 「===」または「!=」を使用します。 「! == 演算子は、2 つのオペランドの値が等しいかどうかを比較し、それらの型が同じかどうかを確認します。
このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。
JavaScript は等価性を決定します
JavaScript では、==
、 == を使用できます。 =
、#!=、#!==
等号か不等号かを判断する演算子
==(等しい) | |
---|---|
!= (待ちたくない) | |
===(一致) | |
!== (一致していません) | |
等号演算では、次の点に注意する必要があります。 issues: |
オペランドがブール値の場合、最初に数値に変換され、false は 0 に変換され、true は 1 に変換されます。
一方のオペランドが文字列で、もう一方のオペランドが数値の場合は、まず文字列を数値に変換してみます。
一方のオペランドが文字列で、もう一方のオペランドがオブジェクトの場合は、最初にオブジェクトを文字列に変換してみます。
一方のオペランドが数値で、もう一方のオペランドがオブジェクトの場合は、まずオブジェクトを数値に変換してみます。
両方のオペランドがオブジェクトの場合、参照アドレスが比較されます。参照アドレスが同じであれば等しくなりますが、それ以外の場合は等しくありません。
#例 1
console.log("1" == 1); //返回true。字符串被转换为数字 console.log(true == 1); //返回true。true被转换为1 console.log(false == 0); //返回true。false被转换为0 console.log(null == 0); //返回false console.log(undefined == 0); //返回false console.log(undefined == null); //返回true console.log(NaN == "NaN"); //返回false console.log(NaN ==1); //返回false console.log(NaN == NaN); //返回false console.log(NaN != NaN); //返回trueNaN は、それ自体を含め、どの値とも等しくありません。 null 値と未定義値は同じですが、異なる種類のデータです。等価比較では、null と unknown を他の型の値に変換することはできません。
例 2
次の 2 つの変数の値は等しいです。var a = "abc" + "d"; var b = "a" + "bcd"; console.log(a == b); //返回true数値とブール値の等価比較演算は比較的効率的ですが、文字列は文字ごとに比較する必要があり、等価比較演算の効率は比較的低くなります。 合同演算では、次の問題に注意する必要があります。 両方のオペランドが単純な値の場合、値が同じで型が等しい限り、同じです、ちょうど等しいです。
例 3
console.log(null === undefined); //返回false console.log(0 === "0"); //返回false console.log(0 === false); //返回false例 4 次は 2 つのオブジェクトの比較ですが、両方とも同じアドレスを参照しているため、true が返されます。
var a = {}; var b = a; console.log(a === b); //返回true次の 2 つのオブジェクトは同じ構造ですが、アドレスが異なるため、一致しません。
var a = {}; var b = {}; console.log(a === b); //返回false
例 5
複合オブジェクトの場合、主に参照アドレスが比較され、オブジェクトの値は比較されません。var a = new String("abcd); //定义字符串“abcd”对象 var b = new String("abcd); //定义字符串“abcd”对象 console.log(a === b); //返回false console.log(a == b); //返回false上の例では、2 つのオブジェクトの値は等しいですが、参照アドレスが異なるため、待機する必要もなく、等しくもありません。したがって、複合オブジェクトの場合、等価 == 演算と合同 === 演算の結果は同じになります。
例 6
単純な値の場合、型が同じで値が等しい限り、式の演算プロセスや変数の変更に関係なく、それらは一致します。 .参照アドレス。var a = "1" + 1; var b = "11"; console.log(a ===b); //返回true例 7 式 (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 で位相が等しいかどうかを判断する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。