3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

JavaScript の ?? と || でどっちが0の判定どうなるんだっけ

Last updated at Posted at 2020-05-15

JavaScriptの ??|| ってどういう動きするのだっけ? といつも忘れるので書いておきます。あと記号のググラビリティも悪いので名前も記録しておきたい。

まとめ: falsyなものを判定するなら||でOK、nullまたはundefinedだけを判定するなら??の方が良い。

image.png

null合体演算子 ??

Null 合体演算子 (??) は論理演算子の一種です。この演算子は左辺が null または undefined の場合に右の値を返し、それ以外の場合に左の値を返します。

左辺が '' や 0 の場合は左の値を評価して返します

論理OR演算子 ||

true に変換できる値は、いわゆる truthy です。false に変換できる値は、いわゆる falsy です。

false と見ることができる式の例は、null、0、空文字列 ("")、あるいは、undefined と評価されるものです。

おまけ

ちなみにこういう演算子とかを検索するときに ?? とかで検索してもだいたい出てこないのでどうやって検索しているかという話。
?? の場合は javascript question double とか記号の名前と特徴を英単語で検索すると「これってなんなの?」的な質問サイトに行き当たって正式名称を知ることができます。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?