読み方 : トゥルーシー/フォルシー

truthy/falsy

概要

truthy/falsyとは、プログラミング言語において、真偽値­以外のあらゆる値を条件判定の場面で「真」(true)または「偽」(false)のいずれかとみなす仕組み。主にJavaScriptPythonRubyなどのスクリプト言語で用いられる。
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更新)
 

他の辞典等による「truthy/falsy」の解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。