特定の数値が特定の範囲内にあることを検証したい:
function validate(min, max, amount) {
return (min <= amount <= max);
}
しかし、これは正しく機能していないようです。2 つの比較と論理 AND で実行できることはわかっていますが、1 つの比較で実行したいと考えています。これを実現するNATIVE JavaScriptの方法はありますか?
特定の数値が特定の範囲内にあることを検証したい:
function validate(min, max, amount) {
return (min <= amount <= max);
}
しかし、これは正しく機能していないようです。2 つの比較と論理 AND で実行できることはわかっていますが、1 つの比較で実行したいと考えています。これを実現するNATIVE JavaScriptの方法はありますか?
演算子 ( == 、 <= 、 < 、 >= 、 == ) は 2 つの引数しか取りません。
より多くの引数がある場合、計算の数学的な順序が使用されます。実際、コードは次のように動作します。
min <= amount // true
true <= max // this is illogical
論理ステートメントを実行して次のようなものを見つけるときも最適です。
if(false && (some computing))
(some computing)
結果は常にであるため、無視されますfalse
これは、すべての言語で非常に一般的な実践です。このようなテストでは、最初の引数が既に false であるため、NullPointerException エラーは発生しません。
if(obj != null && obj.getValue() > 10) //C++,Java, etc.
if(obj !== undefined && obj.val() > 10) // javascript
if(obj.length != 0 && obj.val() > 10) //jQuery