ホームページ > ウェブフロントエンド > jsチュートリアル > オプションのチェーンと Nullish Coalescing は ES6 の Null-Safe プロパティ アクセスと条件付き代入をどのように改善しますか?

オプションのチェーンと Nullish Coalescing は ES6 の Null-Safe プロパティ アクセスと条件付き代入をどのように改善しますか?

Patricia Arquette
リリース: 2024-12-07 01:22:16
オリジナル
738 人が閲覧しました

How Do Optional Chaining and Nullish Coalescing Improve Null-Safe Property Access and Conditional Assignment in ES6 ?

EcmaScript 6 での NULL セーフなプロパティ アクセスと条件付き代入

null または未定義の可能性があるオブジェクトのプロパティに問題を引き起こすことなくアクセスできる機能エラーは、null セーフ プロパティ アクセスと呼ばれます。一方、条件付き代入では、特定の条件が満たされた場合にのみ値を割り当てることができます。

EcmaScript 6 では、いくつかの演算子が null セーフなプロパティ アクセスと条件付き代入の両方をサポートしています。

オプションのチェーン (?.)

ES2020 で導入されたオプションのチェーンにより、次のプロパティにアクセスできるようになります。例外なく、null または未定義の可能性のあるオブジェクト。 ?を使用します。エラーを発生させる代わりに未定義を返す演算子:

const query = succeed => (succeed ? { value: 4 } : undefined);

let value = 3;
for (let x of [true, false]) {
  value = query(x)?.value;
}
console.log(value); // Output: 4
ログイン後にコピー

Nullish Coalescing Assignment (??=)

Nullish Coalescing Assignment (??=)現在の値が null または未定義の場合にのみ、変数に値を割り当てます。割り当ての結果を返します。

let value = 3;
value ??= query(false)?.value;
console.log(value); // Output: 3
ログイン後にコピー

互換性

オプションのチェーンは主要な最新ブラウザと Node.js バージョンでサポートされていますが、ヌル合体割り当てはサポートされています。ブラウザーおよび Node.js v14 で。古い環境の場合は、Babel またはポリフィルの使用を検討してください。

代替手段

これらの演算子を使用する前に、次の回避策が含まれていました。

  • ネストされた if ステートメントの使用および try/catch ブロック
  • のデフォルト値の設定前進
  • ラムダ関数を使用した関数的アプローチ

結論

オプションの連鎖と null 結合代入は、簡潔な null セーフ プロパティ アクセスのための強力なツールを提供しますEcmaScript 6 の条件付き代入。コードを簡素化し、読みやすさを高め、エラーの可能性を減らします。

以上がオプションのチェーンと Nullish Coalescing は ES6 の Null-Safe プロパティ アクセスと条件付き代入をどのように改善しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート