JavaScriptの ??
と ||
ってどういう動きするのだっけ? といつも忘れるので書いておきます。あと記号のググラビリティも悪いので名前も記録しておきたい。
まとめ: falsyなものを判定するなら||
でOK、nullまたはundefinedだけを判定するなら??
の方が良い。
null合体演算子 ??
Null 合体演算子 (??) は論理演算子の一種です。この演算子は左辺が null または undefined の場合に右の値を返し、それ以外の場合に左の値を返します。
左辺が '' や 0 の場合は左の値を評価して返します
論理OR演算子 ||
true に変換できる値は、いわゆる truthy です。false に変換できる値は、いわゆる falsy です。
false と見ることができる式の例は、null、0、空文字列 ("")、あるいは、undefined と評価されるものです。
おまけ
ちなみにこういう演算子とかを検索するときに ??
とかで検索してもだいたい出てこないのでどうやって検索しているかという話。
??
の場合は javascript question double とか記号の名前と特徴を英単語で検索すると「これってなんなの?」的な質問サイトに行き当たって正式名称を知ることができます。