カテゴリ: JavaScript 更新日: 2025/10/30

JavaScriptの条件式でfalse判定される値(falsy値)を解説!初心者でも理解できる

JavaScriptの条件式でfalse判定される値(falsy値)を解説
JavaScriptの条件式でfalse判定される値(falsy値)を解説

先生と生徒の会話形式で理解しよう

生徒

「JavaScriptで条件式を書いたとき、なぜか意図せずにfalseになることがあります。これはどういう意味ですか?」

先生

「それはJavaScriptのfalsy値と呼ばれる特別な値の性質が関係しています。条件式でfalseとみなされる値のことです。」

生徒

「falsy値って具体的にはどんなものがありますか?」

先生

「順を追って説明しますね。理解すると条件式の挙動がよくわかります。」

1. falsy値とは?

1. falsy値とは?
1. falsy値とは?

JavaScriptでは条件式でtrueかfalseかを判断します。通常はtrueは真、falseは偽として扱います。しかし、数字や文字列などの値でも条件式でfalseと判断されるものがあります。これをfalsy値と呼びます。

2. 代表的なfalsy値一覧

2. 代表的なfalsy値一覧
2. 代表的なfalsy値一覧

JavaScriptでfalseと判定される代表的なfalsy値は次の通りです。

  • false:論理値そのもの
  • 0:数字のゼロ
  • "":空の文字列
  • null:値が存在しないことを表す
  • undefined:変数が未定義
  • NaN:計算結果が数値ではない場合

これらの値は、条件式で自動的にfalseとして扱われます。

3. if文でfalsy値を判定する例

3. if文でfalsy値を判定する例
3. if文でfalsy値を判定する例

例えば、変数valueがfalsy値かどうか確認する場合、次のように書けます。


let value = 0;

if (!value) {
  console.log("valueはfalsy値です");
}

valueはfalsy値です

ここで!は「論理否定」です。valueがfalsy値ならtrueに変換され、条件式が実行されます。

4. 短絡評価との組み合わせ

4. 短絡評価との組み合わせ
4. 短絡評価との組み合わせ

falsy値を活用すると、短絡評価で安全に処理を行えます。例えば、オブジェクトが存在する場合だけメッセージを表示する場合です。


let user = null;
user && console.log("ユーザー名は" + user.name);

(何も出力されない)

ここでuserがnull(falsy値)なので、右側のconsole.logは実行されません。

5. falsy値の活用例:デフォルト値設定

5. falsy値の活用例:デフォルト値設定
5. falsy値の活用例:デフォルト値設定

OR演算子を使うと、falsy値をチェックしてデフォルト値を設定できます。


let input = "";
let name = input || "ゲスト";
console.log(name);

ゲスト

ここでinputが空文字列(falsy値)なので、"ゲスト"が代入されます。条件式と短絡評価を組み合わせることで、値が存在しない場合の安全な処理が可能です。

6. falsy値を理解するメリット

6. falsy値を理解するメリット
6. falsy値を理解するメリット

falsy値を理解することで、JavaScriptの条件式が意図せずfalseになる原因がわかります。また、if文や短絡評価を使った簡潔なコードが書けるようになり、プログラムの可読性と安全性が向上します。

カテゴリの一覧へ
新着記事
New1
TypeScript
TypeScriptでパスエイリアスを設定する方法!baseUrlとpathsでコードをスッキリ整理
New2
JavaScript
JavaScriptのfor文の書き方を初心者向けにやさしく解説
New3
JavaScript
JavaScriptの関数でよくあるエラーとその解決法まとめ
New4
JavaScript
JavaScriptのイベント処理でよくあるエラーとその対処法
人気記事
No.1
Java&Spring記事人気No1
JavaScript
JavaScriptのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.2
Java&Spring記事人気No2
JavaScript
JavaScriptのマウスイベントの使い方(click, mouseoverなど)
No.3
Java&Spring記事人気No3
JavaScript
JavaScriptのtoStringとString関数の違いを初心者向けに解説
No.4
Java&Spring記事人気No4
JavaScript
JavaScriptの純粋関数(pure function)と副作用の違いを理解しよう
No.5
Java&Spring記事人気No5
JavaScript
JavaScriptプログラムの実行方法まとめ!ブラウザ・Node.js・コンソールの使い方
No.6
Java&Spring記事人気No6
TypeScript
TypeScript学習におすすめの無料教材・リファレンスサイト【初心者向け】
No.7
Java&Spring記事人気No7
JavaScript
JavaScriptで文字列をforループで1文字ずつ処理する方法!初心者向け解説
No.8
Java&Spring記事人気No8
JavaScript
JavaScriptのDOMContentLoadedとloadイベントの違いを理解しよう