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