JavaScriptでこのようなことをすることは可能ですか?
max = (max < b) ? b;
つまり、条件が真の場合にのみ値を割り当てます。条件が偽の場合、何もしません(割り当てなし)。これは可能ですか?
三項演算子 を使用しないでください。3番目の引数が必要です。変更したくない場合は、max
をmax
に再割り当てする必要があります(max = (max < b) ? b : max
)。
if-statement の方がはるかに明確です。
if (max < b) max = b;
また、式にする必要がある場合は、 [〜#〜] and [〜#〜] の短絡評価を(ab)使用できます。
(max < b) && (max = b)
ところで、変数名(または式?)の繰り返しを避けたい場合は、 最大関数 を使用できます。
max = Math.max(max, b);
三項演算子mustを持つ式は両方の値を持ちます。つまり、trueとfalseの両方の場合です。
ただし、できます
max = (max < b) ? b : max;
この場合、条件がfalseの場合、max
の値は変更されません。
条件が偽の場合、max
をそれ自体に設定できます。
max = (max < b) ? b : max;
または、&&
演算子を使用して試すことができます。
(max < b) && (max = b);
または、コードをシンプルに保つには、if
を使用します。
if(max < v) max = b;
私はこれを試して三元がより適していると思います
(max < b) ? max = b : '';
三項演算子ではない特定の演算子はありませんが、次のように使用できます。
max = (max < b) ? b : max;
より良いアプローチは
max = Math.max(max, b)
見て:
(max < b) ? max = b : null;
それはうまくいくだろう、私はあなたがコロンを使用することを避けたいと思う、残念ながら、それは起こらない