if
ステートメントに複雑な条件があり、何らかの理由でそれがうまくいかない。複雑なIFステートメントの問題
if (
(statementA1) ||
(statementA2) &&
(statementB) &&
(statementC)
) {
doSomething
}
A1
とA2
の両方が(理由は、実際のステートメントの性質)が同時にtrueにすることはできません。 また、B
とC
の両方は、全体的に真となるように真であると評価する必要があります。 true false true true
とfalse true true true
の場合はtrue
を返す必要があります。他の置換はfalse
を返します。
内部の複雑さ(Math.abs()
,およびB
に内部の結合されたサブステートメントが含まれているため)が中括弧で囲まれています。
演算子の優先順位が難しい場合は、ブロックを複数の入れ子に分割することができます。しかし、はい、論理ANDはORよりも優先順位が高くなります。 – dfsq
'a || b && c'は 'a || (b && c) 'である。 – melpomene
あまりにも複雑ではない、この問題ではあまりにも固定されています(この週3回のような同じfeauterを書き直しました)。内部に何かを入れ子にすることなく、それ自体はかなり嫌です。 –