最近JavaScriptにおける構文を一つ知りました。
たぶん、参考書を使用して順当に勉強してる人からしたら常識すぎる話だと思います。
こういう構文みたことありますかね?
“`
const name = val1?.name
“`
変数「val1」のnameを変数「name」に代入する文ですが、「?.」という書き方をしています。
私は最近までこの書き方を知りませんでした…。
この書き方、オプショナルチェーンって言うそうです。
val1に値が存在するかどうか(!!val1がtrueになるかどうか)を判定した上でnameを代入してくれます。
つまり、以下と同等です。
“`
const name = val1 ? val1.name : undefined
“`
これによりval1がnull、undefined等である場合にエラーが発生するのを防ぐことができます。
JavaだとOptional型等でnullと向き合っていますが、JavaScriptはこういう向き合い方をしてるんだなぁ…。