値がnotより大きいかどうかを確認する方法0
javascriptで?
私は試した
if(!a>0){}
しかし、それは機能していません。
ブラケットの2番目のセットが必要です。
if(!(a>0)){}
または、「より大きくない」というのは、「以下」と言うのと同じです。
if(a<=0){}
Mureinikの答えは完全に正しいですが、「偽の値を理解する」と考えることはJavaScriptのより重要で直感的でない部分の1つであり、もう少し説明する価値があります。
ブラケットの2番目のセットがない場合、評価されるステートメント
!a>0
実際に評価される
(!a) > 0
(!a)はどういう意味ですか?つまり、「a」の真偽値を見つけて、それを反転します。 trueはfalseになり、falseはtrueになります。 「a」のブール値の真偽は、aが「false」と見なされる値の1つを持っている場合、falseであることを意味します。他のすべての場合、つまり「a」の他のすべての可能な値の場合、「true」です。 falsey値は次のとおりです。
false
0 (and -0)
"" (the empty string)
null
undefined
NaN (Not a Number - a value which looks like a number, but cannot be evaluated as one
したがって、aにこれらの値のいずれかがある場合、それはfalseであり、!aは真です。他の値がある場合、それは真であり、したがって!aは偽です。
そして、これを0と比較しようとします。そして、0は、ご存じのとおり、「false」になる可能性があるため、比較は次のいずれかです。
if (true > false) {}
または
if (false > false) {}
Trueまたはfalseのいずれも、実際にはfalseと等しくない(より大きいまたは小さくすることはできません!)と見なされると、「if」は常に失敗し、括弧内のコードは評価されません。
_a <= 0
_または(それほど明確ではないが、IMO)!(a > 0)
_!
_演算子は、式全体ではなくa
に適用されているため、「not」ルートに進む場合は追加の括弧が必要です。
>
シンボルの使用に苦労している場合は、演算子を逆にするだけです
if(0>a)
a
も0
と等しくなる場合、
if(0>=a)