Optional Chaining: JavaScript の残酷さを少し軽減する

Mar 25 2023
JavaScript は、その癖と落とし穴で知られる言語です。JavaScript で最も一般的なエラーの 1 つは、悪名高い「未定義のプロパティ 'x' を読み取れません」というエラーです。

JavaScript は、その癖と落とし穴で知られる言語です。JavaScript で最も一般的なエラーの 1 つは、悪名高い「未定義のプロパティ 'x' を読み取れません」というエラーです。あなたはそれを知っています。オブジェクトのプロパティにアクセスしようとしていますが、途中で中間プロパティの 1 つが null または未定義です。そして、JavaScript が適合をスローし、コードを壊します。

さて、JavaScript はついに少し慈悲を示すことにしました。ECMAScript 2020 で導入された Optional Chaining 演算子は、この問題を解決するためにここにあります。Optional Chaining を使用すると、厄介な未定義の値について心配することなく、オブジェクトのネストされたプロパティとメソッドにアクセスできるようになりました。

Optional Chaining がどのように機能するかを示す例を見てみましょう。

const user = {
  name: "John",
  address: {
    street: "123 Main St",
    city: "Anytown",
    state: "CA",
  },
};

const zipCode = user.address?.zipCode;

したがって、エラーをスローする代わりに、zipCode変数が割り当てられますundefined。害なし、ファウルなし。

しかし、Optional Chaining でできることはそれだけではありません。

これを使用して、存在するかどうかに関係なくオブジェクトのメソッドを呼び出すこともできます。

const user = {
  name: "John",
  getAddress() {
    return this.address;
  },
};

const city = user.getAddress()?.city;

結論:

Optional Chaining は JavaScript への小さな追加のように思えるかもしれませんが、開発者にとっては大きな問題です。コードのエラーに対する回復力を高め、読みやすくするのに役立ちます。null チェックと if ステートメントのエンドレス チェーンはもう必要ありません。未定義の値に涙を流す必要はもうありません。

ですから、私たちが必要だとは知らなかったヒーローである Optional Chaining にグラスを上げましょう。一度に 1 つのオプション プロパティを使用して、JavaScript の残虐性を少し軽減することに乾杯します。

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

ここまで来たら、この記事が完全に AI によって生成されたことを明らかにしたいと思います。はい。写真はOpenAI DALL.E 2で作成し、コンテンツはChatGPTで作成しています。chatgpt に次のステートメントを提供したところ、数秒でこの記事が生成されました。

コード例と最後に結論を含む、ユーモラスな方法での javascript オプションの連鎖に関する記事

私は盗作したり、他の意図を持ったりしたくありません。私は何年もメディアで書いてきました. この記事は、 ChatGPT をコンテンツ作成に使用してみて、その反応を知るためだけに公開されました。この記事が役に立ち、ジェネレーティブ AI の威力に同様に驚いているなら、拍手してください。記事、ジェネレーティブ AI、およびそれが今後数年間で私たちの世界をどのように変えるかについて、ご回答いただければ幸いです。