Heim >Web-Frontend >js-Tutorial >Wie kann ich auf elegante Weise Mitglieder bedingt zu JavaScript-Objekten hinzufügen?

Wie kann ich auf elegante Weise Mitglieder bedingt zu JavaScript-Objekten hinzufügen?

Barbara Streisand
Barbara StreisandOriginal
2024-12-19 21:40:12915Durchsuche

How Can I Conditionally Add Members to JavaScript Objects Elegantly?

Bedingtes Einfügen von Mitgliedern in JavaScript-Objekte: Eine moderne Lösung

Während der traditionelle Ansatz des bedingten Hinzufügens von Mitgliedern zu einem Objekt mithilfe von if-Anweisungen ist unkompliziert, es kann unidiomatisch und ausführlich sein. Eine elegantere Lösung besteht darin, den bedingten ternären Operator ?: innerhalb des Objektliterals zu nutzen. Dieser Ansatz führt jedoch zu undefinierten Mitgliedswerten, wenn die Bedingung „falsch“ ergibt.

Um dieses Problem zu lösen, besteht eine robustere Lösung darin, den Spread-Operator (...) in Verbindung mit der logischen UND-Kurzschlussauswertung zu verwenden . Diese Technik ermöglicht die bedingte Einbeziehung mehrerer Mitglieder in einen einzelnen Ausdruck:

const a = {
    ...(someCondition1 && {b: 5}),
    ...(someCondition2 && {c: 6}),
    ...(someCondition3 && {d: 7}),
    // ... and so on
};

In diesem Szenario erweitert der Spread-Operator die Objektliterale in einzelne Eigenschaften innerhalb des umschließenden Objekts a. Der logische UND-Operator && stellt sicher, dass jede Eigenschaft nur dann einbezogen wird, wenn ihre entsprechende Bedingung als wahr ausgewertet wird.

Dieser Ansatz vermeidet undefinierte Eigenschaftswerte, indem falsche Bedingungen durch die Kurzschlussauswertung auf undefiniert gesetzt werden. Infolgedessen enthält das resultierende Objekt nur Eigenschaften, die den erfüllten Bedingungen entsprechen.

Das obige ist der detaillierte Inhalt vonWie kann ich auf elegante Weise Mitglieder bedingt zu JavaScript-Objekten hinzufügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn