短絡演算子を使用すると優先順位が重要であることは理解できたと思いますが、次のコードが発生する理由を理解するのが困難です。
line 3. false && true || true // this returns true
line 4. false && true | true // this returns false
評価は右から左に行われるため、4 行目のコードは false を返します。しかし、3 行目に左から右への評価がある場合、なぜ true を返すのでしょうか? 短絡演算子を 2 つだけ使用するのは問題ありませんが、3 つ使用すると、ロジックに行き詰まってしまいます。しゃれは意図されていません。