JavaScript の if ブロックの括弧は省略しない方が良いと思った

JavaScript では以下のように if ブロックの括弧を省略することができます。

if (foo) foo++;

しかし、これはしばしばバグの原因になることがあります。

例えば、prettier などのフォーマッタでフォーマットするようにしていた場合に、文が長すぎると以下のように整形される場合があります。

if(foo)
  someFunction(foo) ? console.log('Long message') : console.log('long another message')

そして、この後にさらにコードが続くとします。

if(foo)
  someFunction(foo) ? console.log('Long message') : console.log('long another message')
myFunc()

よく見ればわかりますが、一見すると if ブロックの処理がどこまでなのかを誤読する可能性があります。

そのため、以下のようにブロックの括弧を毎回書いた方が危険も少なくなると思います。

if(foo) {
  someFunction(foo) ? console.log('Long message') : console.log('long another message')
}
myFunc()