LoginSignup
3
2

More than 5 years have passed since last update.

JavaScriptでundefinedを比較したまとめ

Last updated at Posted at 2016-08-03

node test.jsってな感じで動かしたまとめ。

結論から

nullとundefinedは厳密に(===)比較しような。

ANDとOR

最後に評価されたものが返ってくる。

AND

true && undefined
左がtrueなので右のundefinedが最後に評価される。undefined。

undefined && true
undefinedはfalse扱いのため、左で短絡評価される。undefined。

false && undefined
左で短絡評価される。false。

undefined && false
左で短絡評価される。undefined。

null && undefined
左で短絡評価される。null。

undefined && null
左で短絡評価される。undefined。

OR

true || undefined
左で短絡評価される。true。

undefined || true
左がfalse扱いされるのでtrueが評価される。true。

false || undefined
左がfalseなので右のundefinedが最後に評価される。undefined。

undefined || false
左がfalse扱いされるので右のfalseが最後に評価される。false。

null || undefined
左がfalse扱いされるので右のundefinedが最後に評価される。undefined。

undefined || null
左がfalse扱いされるので右のnullが最後に評価される。null。

等値比較

特に書いてないものは、=====で結果が変わらないもの。

true == undefined
順当にfalse。ひっくり返しても同じ。

false == undefined
undefinedはfalse扱いされるけど、これはfalse。
なお、0 == false"" == falseはtrue。

true != undefined
false != undefined
上記二つをひっくり返した結果になるだけ。true。

null == undefined
true

null != undefined
上記をひっくり返しただけ。false。

null === undefined
厳密に比較するとfalseになる。

null !== undefined
上記をひっくり返しただけ。true。

undefined == undefined
trueになってくれないと困る! true。

大小

なにとどう比較してみてもfalseになるっぽい。

付録

!(undefined)でtrueに、!!(undefined)でfalseに変換できる。

3
2
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
3
2