ホームページ > 記事 > ウェブフロントエンド > JavaScriptでは等しくない
JavaScript の不等号 (!=) 演算子は、2 つの値が等しいかどうかを比較するためによく使用される演算子です。等号 (==) 演算子に対応します。では、実際の開発プロセスでは、JavaScript の不等号演算子をどのように正しく使用すればよいのでしょうか?
まず第一に、JavaScript における不等号演算子の定義を明確にする必要があります。不等演算子は、2 つの値を比較するときに使用します。 2 つの値が等しくない場合は true を返し、等しい場合は false を返します。 2 つの値は異なる型であってもかまいませんが、比較のために同じ型に強制されます。一方の値が null で、もう一方の値が未定義の場合、それらは等しいです。
JavaScript は型指定が弱い言語であるため、データ型の暗黙的な変換が発生する可能性があります。したがって、不等号演算子を使用するときに発生する可能性のある暗黙的な型変換の問題に特別な注意を払う必要があります。例: 最初の比較式の
0 != "" // true
false != 0 // false
false != "" // true
空の文字列は数値 0 に変換されるため、0 と空の文字列は等しくありません。 2 番目の比較式では、false が数値 0 に変換されるため、0 と false は等しくなります。 3 番目の比較式では、空の文字列はブール値 false に変換されるため、false と空の文字列は等しくありません。
したがって、不等号演算子を使用する場合は、暗黙的な型変換の問題を避けるために、2 つの値のデータ型が同じであることを確認するために最善を尽くす必要があります。
さらに、2 つのオブジェクトを比較する場合、不等号演算子はオブジェクトのプロパティではなく参照アドレスを比較します。したがって、2 つのオブジェクトは、同じプロパティを持っていても、オブジェクト インスタンスが異なる場合でも等しくありません。例:
var obj1 = {
name: "Tom"
};
var obj2 = {
name: "Tom"
};
console.log(obj1 != obj2) ; // true
オブジェクト obj1 と obj2 は同じ属性名を持ち、属性値も同じですが、別のオブジェクト インスタンスであり、参照アドレスも異なるため、両者は等しくありません。演算子が戻り、結果は true になります。
最後に、不等号演算子を使用する場合は、潜在的なパフォーマンスの問題に注意する必要があります。不等号演算子は暗黙的な型変換を受けるため、パフォーマンスに影響する可能性があります。多数の比較演算の場合、不等号演算子の代わりに等号 (===) 演算子を使用すると、暗黙的な型変換の問題を回避し、コードのパフォーマンスを向上させることができます。
要約すると、JavaScript の不等号演算子は一般的に使用される演算子ですが、これを使用するときに発生する可能性のある暗黙的な型変換の問題に注意し、2 つの比較が値であることを確認する必要があります。同じデータ型を持ちます。さらに、多数の比較演算を実行する場合、等号演算子を使用するとコードのパフォーマンスが向上し、暗黙的な型変換の問題を回避できることにも注意してください。
以上がJavaScriptでは等しくないの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。