Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptで「if( '0' ==false)」がfalseに等しいのに、「if(0)」ステートメントではtrueになるのはなぜですか?


条件を1つずつ見ていきましょう-

if(‘0’ == false)
次のルールに従います-

If Type(y) is Boolean, return the result of the comparison x == ToNumber(y)

==は型強制を行います。これは、2つのオペランドの型を一致させるために、明示的な型変換が要求されることを意味します。左側の「0」は数値0に変換されます。2つの数値を比較すると、0は0に等しいため、結果は真になります。この場合、比較される前に強制されたため、「0」文字列の不正/偽の性質を意味しないため、これは機能しません。

if(0)

これは、文字列がゼロかどうかではなく、文字列がnullまたは空であるかどうかをチェックします。空でない文字列はtrueであることを常に覚えておいてください。文字列はそれ自体のメリットで偽物または偽物として評価される可能性があるため、ここでは型強制は使用されません。


  1. JavaScriptのデバッガーステートメント

    JavaScriptのデバッガーステートメントは、コードにブレークポイントを設定するために使用されます。コードは、デバッガーステートメントに遭遇するとすぐに実行を停止し、デバッガー関数(使用可能な場合)を呼び出します。 以下は、JavaScriptでデバッガステートメントを実装するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" co

  2. JavaScriptで誤った値を特定する

    JavaScriptでは、ブール型-false として評価されると、次の値がfalseと評価されます。 0 空の文字列: 、、または `` null 未定義 NaN —数値ではありません 以下は、JavaScriptで偽の値を識別するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="widt