未経験からエンジニアになりたい人必見!
おすすめプログラミングスクール3選!

【JavaScript】falsyとtruthyについて

本記事では、JavaScriptのfalsyとtruthyについて解説しています。

JavaScriptの学習におすすめ参考書
改訂新版JavaScript本格入門

参考書が苦手な人はUdemyの動画がおすすめ
ガチで学びたい人のためのJavaScriptメカニズム

作成者 CodeMafia
学習時間 20.5時間
受講者数 16,593人
レビュー (2,383件)

falsyとtruthyとは?

JavaScriptでは、全ての値をfalsyとtruthyに分けることができます。

例えば、if文で文字列を使った変数に対して条件分岐を行ってみましょう。

JavaScript
let str = "Hello";

if (str) {
  console.log("処理が実行されました!");
}

すると、条件に満たされたことで中の処理が実行されます。何故これが条件に満たされるのでしょうか?本来if文とはtrueの時にしか中の処理は実行されないはずですよね。

その答えは値がfalsytruthyに区別にされており、暗黙の型変換でtrueまたはfalseに変換されています。

そのため、if文にtrueとfalse以外の値を入れても処理が実行されます。

Boolean
falsyfalse
truthytrue

falsyとtruthyになる値

falsyとtruthyに当てはまる値は以下のとおりです。

falsyfalse / 0 / -0 / 0n
“” / null / undefined / NaN
truthyfalsy以外の値
JavaScript
/* falsy */
console.log(Boolean(false));
console.log(Boolean(0));
console.log(Boolean(-0));
console.log(Boolean(0n));
console.log(Boolean(null));
console.log(Boolean(undefined));
console.log(Boolean(NaN));
console.log(Boolean(""));

/* truthy(一部) */
console.log(Boolean(true));
console.log(Boolean(1));
console.log(Boolean(1n));
console.log(Boolean("A"));