論理演算子𞓜|はJavaScriptの中で、0はBoolean Falseを表しますか?

1329 ワード

テスト中にsolutionを探す時、たまにコードを見ます.次の通りです.
var test = 0 || -1 ;
console.log(test);
ソロでは、testの値は−1であることが示されている.
ですから、ちょっと退屈して、上に行きます. stackover flow 質問をしたら、頭がショートしていたことに気づきました.基本的なこれらの概念は忘れられていたのです.ちょっと整理してみます.
 
MDN 上の説明は:||: expr1 || expr2 (Logical OR)
Returns expr 1 if it can be converted to true;otherswise、returns expr 2.Thus、when used with Boolean values、|returns true if eigther operand is true;if both are false、returns false.&&: expr1 && expr2 (Logical AND)
Returns expr 1 if it can be converted to false;otherswise、returns expr 2.Thus、when used with Boolean values、&returns true if both operands ar true;otherswise,returns false.
JavaScriptの中で、すべての値は「truthy」ではなく「falsy」です.
条件判定文では、以下の値はfalseとして扱われます.
  • false
  • null
  • undefined
  • The empty string  "" (\  '')
  • The number 0
  • The number NaN
  • そしてそれ以外のすべての値はtrueとして扱われます.
    一番上のコードを引用したら分かります.
    var test = 0 || -1 ; 
        0 false,   (Logical OR)            test   -1
    転載先:https://www.cnblogs.com/strangeline/archive/2012/03/08/2385266.html