本記事では、JavaScriptのfalsyとtruthyについて解説しています。
ITエンジニア特化の転職サイト!
自社内開発求人に強い【クラウドリンク】
JavaScriptの学習におすすめ参考書
改訂新版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで
falsyとtruthyとは?
JavaScriptでは、全ての値をfalsyとtruthyに分けることができます。
例えば、if文で文字列を使った変数に対して条件分岐を行ってみましょう。
let str = "Hello";
if (str) {
console.log("処理が実行されました!");
}
すると、条件に満たされたことで中の処理が実行されます。何故これが条件に満たされるのでしょうか?本来if文とはtrueの時にしか中の処理は実行されないはずですよね。
その答えは値がfalsyとtruthyに区別にされており、暗黙の型変換でtrueまたはfalseに変換されています。
そのため、if文にtrueとfalse以外の値を入れても処理が実行されます。
Boolean | |
---|---|
falsy | false |
truthy | true |
falsyとtruthyになる値
falsyとtruthyに当てはまる値は以下のとおりです。
値 | |
---|---|
falsy | false / 0 / -0 / 0n / “” / null / undefined / NaN |
truthy | falsy以外の値 |
/* 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"));