数値を条件式で使う場合は明示的にbooleanに変換する

2025/09/01

目的

可読性、意図の明確化

ルール

条件式で値を評価する際は、値の型に応じて適切な真偽値変換を行うこと。

  • 数値型(number)は、0 が偽、それ以外が真と評価される。意図を明確にしたい場合は !!value で boolean に変換してから使用する。
  • 文字列や null などの型は、if (value) で空文字や null を偽として扱う。明示的な変換は不要。
  • 型や用途に応じて、暗黙的型変換と明示的な boolean 変換(!!)を使い分けること。

サンプル

// NG
const itemCount = items.length; // 数値が入る
if (itemCount) { // 0でなければcontinueとなるが明示的ではない
 continue;
}

// OK
const hasItems = !!items.length; // 数値が真偽値に変換される(0=false, 1~=true)
if (hasItems) { // true / falseが入る
  continue;
}