この章では、JavaScript の等号演算子の使用法を紹介します。必要な方は参照してください。
等号演算子の最も基本的な使用法は、2 つのオペランドが等しいかどうかを比較することです。次のコード例を参照してください。
2 つのオペランドが等しい場合、戻り値は true を返し、それ以外の場合は false を返します。
以上が最も基本的な使い方ですが、比較的特殊な使い方をいくつか紹介します。
上記のコードの戻り値は true です。
多くの友人は疑問を持つかもしれません。1 つは文字列で、もう 1 つは数値型です。もちろん、これは C# や Java では間違いですが、JS では問題ありません。暗黙的なデータ型変換が行われ、文字列が数値に変換されます。
コード例を見てみましょう:
上記のコードは true も返します。true も暗黙的に変換され、1 に変換され、false は false に変換されます。
別のコード例を見てみましょう:
オブジェクトは数値と直接比較でき、戻り値は true です。
これは、オブジェクトが最初に valueOf() メソッドを呼び出し、そのようなメソッドがない場合は toString() メソッドの呼び出しを試みるためです。
JavaScript における 2 つの等号と 3 つの等号の違い:
JavaScript コードでは 3 つの等号と 2 つの等号がよく使用されます。これらの違いを紹介します。
コード例:
例 1:
例 2:
上記のコードは 2 つの演算子を示しています。これらの違いを紹介しましょう。
3 つの等号合同演算子:
これは合同演算子であるため、2 つのオペランドが等価であるためにはまったく同じである必要があります。具体的な比較規則は次のとおりです。
1. 2 つの演算が値型である場合、2 つのオペランドは完全に等しい必要があります。
2. 参照型の場合、2 つのオペランドが等しいためには、同じオブジェクトを指している必要があります。
2 つの等号演算子:
この演算子はより慈善的です。比較中に 2 つのオペランドの型が異なる場合、具体的なルールは次のとおりです。1. 同じデータ型の値型である場合、比較規則は等価演算子と同じです。
2. 2 つのオペランドの型が同じである場合、それらも同じである可能性があります:
a: 1 つが null で、1 つが未定義の場合、2 つは同じです。
b: 一方が文字列、もう一方が数値の場合、文字列を数値に変換して比較します。
c: いずれかの値が true の場合、それを 1 に変換して比較し、いずれかの値が false の場合、それを 0 に変換して比較します。
d: 一方がオブジェクトで、もう一方が数値または文字列の場合、オブジェクトを基本型の値に変換して比較します。オブジェクトは、toString メソッドまたは valueOf メソッドを使用して基本型に変換されます。
以上がこの記事の全内容です。皆さんに気に入っていただければ幸いです。