JavaScriptのオプショナルチェーン
オプショナルチェーン (?.) (optional chaining) 演算子は、オブジェクトのプロパティにアクセスしたり、関数を呼び出したりします。この演算子を使用してアクセスするオブジェクトまたは呼び出される関数が undefined または null の場合、エラーが発生することなく、式が途中で終了し、undefined と評価されます。
オプショナルチェーン (?.) - JavaScript | MDN
code:sample.js
const dogName = adventurer.dog?.name;
console.log(dogName);
もし「adventurer.dog」があれば、そのnameにアクセスする、という書き方。
通常「adventurer.dog.name」と書くと、dogがないときにエラーになるが、?を添えて置くと、undefinedになる。