JavaScript での Null 値のチェックは難しい場合があります。次の例を考えてみましょう:
<code class="js">if (pass == null || cpass == null || email == null || cemail == null || user == null) { alert("fill all columns"); return false; }</code>
このコードは期待どおりに機能しないのはなぜですか?
その理由は、JavaScript の等価性チェック (== および !=) が型強制的であるためです。これは、JavaScript が比較を実行する前に、比較される値を同じ型に変換しようとすることを意味します。この場合、null は空の文字列に強制され、JavaScript では「偽」の値とみなされます。その結果、変数の実際の値に関係なく、上記のコード内のすべての条件は常に false と評価されます。
JavaScript で null 値をチェックするには、厳密な等価性チェック (=== および !===) を使用する方が信頼性が高くなります。これらのチェックは型強制を実行せず、比較される値が同じ型および値である場合にのみ true を返します。
<code class="js">if (pass === null || cpass === null || email === null || cemail === null || user === null) { alert("fill all columns"); return false; }</code>
ただし、この特定のシナリオでは、実際に空の文字列 ("") をチェックしようとしているようです。その場合は、次の簡略化されたコードを使用できます:
<code class="js">if (!pass || !cpass || !email || !cemail || !user) { alert("fill all columns"); return false; }</code>
このコードは、空の文字列、null、未定義、false、および数値 0 と NaN をチェックします。数値の場合は、予期しない誤検知を避けるために、厳密な等価性チェック (num === 0 または num !== -1) を使用することが望ましいことに注意してください。
以上がJavaScript で Null 文字列と空の文字列を確実にチェックするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。