目的
可読性、意図の明確化
ルール
条件式で値を評価する際は、値の型に応じて適切な真偽値変換を行うこと。
- 数値型(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;
}