オプショナルチェーンについて

オプショナルチェーンについて

存在が未確定のプロパティのnullやundefinedのチェック

オブジェクトのプロパティが存在するかどうかわからない場合、存在しなかった場合には、そのプロパティを参照しないようにするために、nullまたはundefinedのチェックが必要となります。

チェックをしなかった場合は、そのプロパティが存在しなかった場合に、エラーになります。

エラーを起こさないようにする場合、変数やプロパティがnullまたはundefinedかどうかのチェックをして、存在しなかったときは、undefinedを返す必要があります。普通に書くと下記のような記述になります。ネストが深くなると、もっと記述量が増えて、複雑になります。

const response = { token: "fafae92rfjafa03", ok: true, code: 200 }
const token = response === null || response === undefined ? undefined : response.token;

オプショナルチェーンの使い方

オプショナルチェーン(?.)演算子を使うと、上記と同じことを、より簡単に記述することができます。ネストされたプロパティにも使用できます。

const response = { token: "fafae92rfjafa03", ok: true, code: 200 }
const token = response?.token;

もしも、?.の前に書かれている変数やプロパティの値が、nullかundefinedだったら、その先の.tokenは評価されずに、undefinedが返ります。上記のコードの場合は、response.tokenまで到達しなくなります。

おわりに

今回は、ネストされたプロパティのnullやundefinedのチェックすることができるオプショナルチェーンについて、まとめました。とても便利なので、ぜひ使ってみてください。

まい

Webサービス制作会社で、Wordpressのテーマ開発や2Dシミュレーターの開発、JavaScriptを使用したフロントエンド周りの実装を担当しています。 JavaScriptが好きです。 最近は、3D Model Configuratorの制作にチャレンジしています。

JavaScriptカテゴリの最新記事