JavaScript Null 合体(??)について

value が null もしくは undefined の時に 100 を返し、それ以外は value を返したい時に以下のようなコードを書いてしまうとバグが発生します。

value || 100

このコードでは value が 0 や空文字の時も 100 が返ります。これは || によって value が boolean に変換されて評価されるためです。

const value = 0
console.log(value || 100); // 100

const value2 = ''
console.log(value2 || 100); // 100

Null合体(??)を使うことでこれを回避できます。

const value = 0
console.log(value ?? 100); // 0

const value2 = ''
console.log(value2 ?? 100); // ''

この機能はまだブラウザ間の安定化がされていないために、試験的に試すことをおすすめします。

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing_operator