JavaScript オブジェクトへの条件付きメンバーの挿入: 最新のソリューション
if ステートメントを使用してオブジェクトに条件付きでメンバーを追加する従来のアプローチは、単純明快ですが、単調で冗長になる可能性があります。より洗練された解決策は、オブジェクト リテラル内で条件付き三項演算子 ?: を利用することです。ただし、このアプローチでは、条件が false と評価されるとメンバー値が未定義になります。
この問題を解決するには、より堅牢な解決策は、論理 AND 短絡評価と組み合わせてスプレッド演算子 (...) を使用することです。 。この手法により、単一の式内に複数のメンバーを条件付きで含めることができます。
const a = { ...(someCondition1 && {b: 5}), ...(someCondition2 && {c: 6}), ...(someCondition3 && {d: 7}), // ... and so on };
このシナリオでは、スプレッド演算子はオブジェクト リテラルを、それを囲んでいるオブジェクト a 内の個々のプロパティに展開します。論理 AND 演算子 && は、対応する条件が true と評価される場合にのみ各プロパティが含まれることを保証します。
このアプローチでは、短絡評価を通じて false の条件を強制的に未定義にすることで、未定義のプロパティ値を回避します。その結果、結果のオブジェクトには、満たされた条件に対応するプロパティのみが含まれます。
以上がJavaScript オブジェクトにメンバーを条件付きでエレガントに追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。