LPI Web Development Essentials 無料問題 8 / 10 ・ 分野4: JavaScript Programming
ifの条件に文字列"0"を指定した。この条件の扱いはどれか。
- nullと同じfalsyになる
- 真偽判定でTypeErrorになる
- 数値0と同じfalsyになる
- truthyとして扱われる
正解と解説を見る
正解: D
正解の理由
空でない文字列"0"はtruthyである。文字列の内容を数値0へ変換してからifの条件判定をするわけではない。
違う選択肢
「数値0と同じfalsyになる」… 数値0と文字列"0"では真偽値への変換結果が異なる。
「nullと同じfalsyになる」… nullと同じ扱いにはならない。
「真偽判定でTypeErrorになる」… 文字列を条件に使用しても型の違いによる例外にはならない。
押さえどころ
フォームからの入力が"false"や"0"であっても空文字列ではない。入力値の意味を解釈したい場合は明示的な判定が必要になる。