JavaScript入門 練習問題 26:データ型:真偽値評価(falsy値)
次のうち、JavaScriptでfalsy(真偽値評価をした際にfalseとして扱われる)値はどれですか?
- 0(数値のゼロ)
- '0'(文字列の0)
- [](空の配列)
- {}(空のオブジェクト)
- 'false'(文字列のfalse)
正解と解説を見る
正解:0(数値のゼロ)
JavaScriptでは数値の0は真偽値評価をするとfalseとして扱われるfalsy(=偽と評価される)値の一つです。一方、文字列や配列・オブジェクトは中身が空であっても基本的にtruthy(=真と評価される)値になります。
【正解の理由】
数値の0はJavaScriptにおける代表的なfalsyな値であり、if文などの条件式でfalseとして評価されます。他のfalsyな値にはNaN、null、undefined、空文字列''などがあります。
【不正解の理由】
• 「'0'(文字列の0)」:文字列は中身が'0'という1文字であっても空文字列ではないためtruthyな値になる
• 「[](空の配列)」:JavaScriptでは空の配列もオブジェクトの一種として扱われ、truthyな値になる
• 「{}(空のオブジェクト)」:オブジェクトはプロパティが無くてもtruthyな値として評価される
• 「'false'(文字列のfalse)」:文字列としての'false'は空文字列ではないため、truthyな値になる