LoginSignup
0
0

More than 1 year has passed since last update.

JavaScriptの0

Last updated at Posted at 2021-09-22

JavaScriptにおいて0は「false」と判定される。0の存在を忘れて真偽値判定していると知らぬ間に0をfalse側にぶち込んでいることがある。

let a = 1;
function fn(num) {
    num = num || -1; //←右辺のnumにundefineもnullもNaNも0も入る
    console.log(num);
}
fn(a);

引数をデフォルト引数num=1にすればいいだろうと思ったけれど、0はよくともnullなどの場合にはデフォルト引数がセットされず、nullがセットされてしまうらしい。なぜ……
(num自体をif文判定してデフォルトの値を引数にセットする記述を追加する必要がある)

0をfalse判定されるとまずいことにならないかどうか、プログラム上で気にかけておく必要がある……がうっかり忘れそうなので、真偽値判定にかける値に0を含めないようにするか、=== 0など直に判定を記述した方がいいかもしれない。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0