const fun = () => {}; fun?.(console.log('hoge'));
↑この時は console.log('hoge')
が評価され、ログに hoge と表示される。
const notFun = undefined; notFun?.(console.log('hoge'));
↑この時 console.log('hoge')
は評価されない。つまりログにも hoge と出力されない。
||
演算子や &&
演算子はもう見慣れたから短絡評価される感覚があるけど、オプショナルチェーン演算子はまだ短絡評価されるという感覚が薄い。