読み方 : トゥルーシー/フォルシー
truthy/falsy
概要

真と同等とみなされる値を「truthy」(トゥルーシー)、偽と同等とみなされる値を「falsy」(フォルシー)と呼ぶ。多くの言語では、falsyとなる値をあらかじめ定め、それ以外をすべてtruthyとして扱う方式を採用している。数値の「0」、空文字列("")、値の不在を示す「null」などが代表的なfalsyの例である。
データ型の扱いが厳格な静的型付け言語では、条件式に論理型(ブール型)以外の値を与えると型エラーとなる。一方、truthy/falsyの仕組みを持つ動的型付け言語では、if文やwhile文の条件式に数値や文字列、配列といった値や変数をそのまま記述でき、「値が存在するか」「文字列が空でないか」といった判定を簡潔に表現できる。
falsyとして定義される値の範囲は言語によって異なる。例えばJavaScriptでは、0、空文字列、null、undefined、NaNがfalsyであり、空の配列や空のオブジェクトはtruthyである。Pythonでは、0や空文字列に加え、空のリストや辞書、タプルもfalsyとなる。Rubyではfalseとnilのみがfalsyで、0や空文字列はtruthyとして扱われる。
暗黙の型変換によって意図しない結果を招くこともあるため、厳密な一致を求める場面では明示的な比較式や厳密等価演算子(===)を用いる方が安全である。複数の言語を扱う際は、それぞれの言語仕様における判定規則を個別に確認する必要がある。
(2026.6.17更新)