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 またはポリフィルの使用を検討してください。
代替手段
これらの演算子を使用する前に、次の回避策が含まれていました。
結論
オプションの連鎖と null 結合代入は、簡潔な null セーフ プロパティ アクセスのための強力なツールを提供しますEcmaScript 6 の条件付き代入。コードを簡素化し、読みやすさを高め、エラーの可能性を減らします。
以上がオプションのチェーンと Nullish Coalescing は ES6 の Null-Safe プロパティ アクセスと条件付き代入をどのように改善しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。