const x = foo ?? bar();
null/undefined
ならbar()を呼び出す ||
となにがちがう? let poyo = hoge.get() || 1.5
とか書いてたとして、 hoge.get()
の返り値がもし 0
ならfalthyと判定されて、poyoには1.5が入ってしまう null/undefined
のときのみの対処をしてくれる hoge ?? piyo
という式があった場合、 hoge
はnullableであるという主張になる