17.2Control Statements / Value Selection

選択演算子を制御文の代わりに使用しない

制御文の代わりに選択演算子を使用しないでください。可読性が低下します。

`!isRunning && startRunning()` のようなコードは、短絡評価を利用したハックであり、一部の開発者には巧妙に見えるかもしれません。しかし、これは「もし〜ならば〜する」という意図を表現する `if` 文に比べて直感的ではありません。コードは、 clever (巧妙) であることよりも clear (明確) であることが重要です。

❌ Bad
// bad
!isRunning && startRunning();
✅ Good
// good
if (!isRunning) {
  startRunning();
}