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

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

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-03 12:51:13423ブラウズ

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

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

JavaScript では、次のようなオブジェクトのプロパティにアクセスするのは面倒な場合があります。 null または未定義。さらに、条件付きで変数に値を割り当てると、エラーが発生しやすい try/catch ブロックが関与する可能性があります。

ES2020 で導入されたオプションの連鎖 (?.) 演算子は、Null 許容オブジェクトのプロパティにアクセスする簡潔な方法を提供します。プロパティが存在しない場合は unknown を返すため、明示的なチェックの必要がなくなります。

条件付き代入の場合、null 合体代入演算子 (??=) は、現在 null であるか、または現在 null である場合にのみ変数に値を代入します。未定義。これにより、既存の値が不必要に上書きされることがなくなります。

例:

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

let value = 3;
for (let x of [true, false]) {
  value = query(x)?.value ?? value;
}
console.log(value); // Output: 4

この例では、query(x).value が存在する場合にのみ割り当てが発生し、それ以外の場合は古い値が存在します。値は保持されます。オプションのチェーンにより、query(x) が定義されていない場合にプロパティにアクセスするときにエラーがスローされなくなります。

その他の注意事項:

  • ??= 演算子プロパティの存在に関係なく常に値が割り当てられるため、条件付きプロパティの割り当てに直接使用することはできません。
  • オプションのチェーンを使用できます。ネストされたプロパティへのアクセスに使用されます (a?.b?.c など)。ここで、a、b、c は null 許容オブジェクトのプロパティです。
  • Babel-preset-env は、オプションのチェーンを使用して JavaScript コードをトランスパイルするために使用できます。古い環境との互換性を保つための Nullish 合体演算子。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。