本サイトはプロモーション(広告)が含まれています。

JavaScriptでif文を0で判定すると数値の場合はfalse、文字列の場合はtrueとなる

JavaScriptでif文を0で判定すると数値の場合はfalse、文字列の場合はtrueとなる

慣れるまで違和感がありますが、JavaScriptでif文の判定では文字列の値であっても真偽値として取り扱われます。

JavaScriptのif文で数値の0を判定するとfalseが返却されます。

let = 0;
if (let) {
    alert(let+'はtrue');
} else {
    alert(let+'はfalse');
}
// 実行結果
0はfalse

一方で、文字列の0を判定するとtrueが返却されます。

let = "0";
if (let) {
    alert(let+'はtrue');
} else {
    alert(let+'はfalse');
}
// 実行結果
0はtrue

 上記の2つのプログラムでfalse及びtrueと実行結果が異なることが確認できました。

 if文で0を判定条件として使用する場合は型に要注意です

  • 文字列:”0”はtrue
  • 数値: 0 はfalse

 JavaScriptでは0の他に””、null、undefinedなどもfalseとして取り扱われますが、文字列か数値かなどで真偽値の結果が異なるため注意が必要です。

JavaScript の記事一覧へ

PAGE TOP