Null 合体演算子(??)

(式と演算子)
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing

Null 合体演算子(??)は、左辺がnull または undefinedの場合だけ右辺を返す。左辺の値が、null または undefined以外の場合は左辺を返す。
『 null ?? 20 』の場合、左辺の値がnullなので、右辺の値(正の数字20)が返される。

// fugaがnullかundefinedだったら、デフォルト値をいれたい
let fuga;
const hoge = fuga ?? 'default value';
console.log(hoge);
>> default value

const a = 0
const b = false
const c = undefined
const  d = null
const isNullish = (value) => value ?? "null or undefined"
isNullish(a) // 0
isNullish(b) // false
isNullish(c) // "null or undefined"
isNullish(d) // "null or undefined"

 || との違い

||によるショートサーキット評価でも同じことができるが、??のほうがより厳格になる。
||は、左辺がfalsyな値だと右辺を評価する。null,unidefinedに加えて以下の場合も含まれる。

  • false
  • 0
  • 0n
  • NaN
  • “”(空文字)

??は、左辺がnull,unidefinedのときだけ右辺を評価する。

inserted by FC2 system