JavaScriptの比較演算子としては「==」がよく使われますが、両者の違いは何でしょうか?
=== は同一性を意味し、最初に両側の変数のデータ型が等しいかどうかを比較し、次に両側の変数の値が等しいかどうかを比較します。 == は等しいことを意味し、かどうかを比較することのみを意味します。両側の変数の値は等しいです。
の違い:
==、両側の値の型が異なる場合、最初に型変換を実行してから比較する必要があります。
==、型変換は行われません。異なる型は等価であってはなりません。
以下については別途説明します:
まず「===」について説明します。これは比較的簡単です。 2 つの値が === 等しいかどうかを判断するには、次のルールが使用されます:
1. 型が異なる場合、それらは等しくありません
2. 両方が数値であり、同じ値である場合、 then [等しい]; (!例外) 少なくとも 1 つが NaN の場合、[等しくない] になります。 (値が NaN であるかどうかを判断するには、isNaN() を使用するだけです)
3. 両方が文字列であり、各位置の文字が同じである場合、それらは等しくなります。それ以外の場合、それらは等しくありません。
4. 両方の値が true または両方が false の場合、それらは等しいです。
5. 2 つの値が同じオブジェクトまたは関数を参照している場合、それらは等しくありません。
6. 両方の値が null または両方が未定義の場合、それらは等しいです。
「==」について話しましょう
2 つの値の型が異なる場合、それらは等しい可能性があります。型変換を実行し、次のルールに従って比較します:
a. 一方が null で、もう一方が未定義の場合、それらは等しいです。
b. 一方が文字列でもう一方が数値の場合、文字列を数値に変換して比較します。
c. いずれかの値が true の場合は 1 に変換して比較し、いずれかの値が false の場合は 0 に変換して比較します。
d. 一方がオブジェクトで、もう一方が数値または文字列の場合、オブジェクトを基本型の値に変換して比較します。オブジェクトは、toString メソッドまたは valueOf メソッドを使用して基本型に変換されます。 js コアの組み込みクラスは toString;
e の前に valueOf を試行します。他の組み合わせは等しくありません。
概要:
つまり、「==」は値間の比較であり、「===」は値間の比較であるだけでなく、一般に When の型間の比較でもあります。プロジェクトを実行する場合、さまざまなビジネスに基づいてどれを使用するかを決定します。ほとんどの開発者は厳密ではない「==」に慣れています。
関連する推奨事項:
JavaScript の二重等号 (==) の詳細な説明。変換メカニズム
JavaScript の if と switch、== と === の違いと関連性の詳細な説明
PHP の == 演算子の文字列比較の使用法とその副作用の詳細な説明
以上がJavaScript「==」と「===」の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。