Home > Web Front-end > JS Tutorial > How Can I Conditionally Add Members to JavaScript Objects Elegantly?

How Can I Conditionally Add Members to JavaScript Objects Elegantly?

Barbara Streisand
Release: 2024-12-19 21:40:12
Original
907 people have browsed it

How Can I Conditionally Add Members to JavaScript Objects Elegantly?

Conditional Member Insertion in JavaScript Objects: A Modern Solution

While the traditional approach of conditionally adding members to an object by using if statements is straightforward, it can be unidiomatic and verbose. A more elegant solution is to leverage the conditional ternary operator ?: within the object literal. However, this approach results in undefined member values when the condition evaluates to false.

To resolve this issue, a more robust solution is to employ the spread operator (...) in conjunction with logical AND short circuit evaluation. This technique allows for the conditional inclusion of multiple members within a single expression:

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

In this scenario, the spread operator expands the object literals into individual properties within the enclosing object a. The logical AND operator && ensures that each property is only included if its corresponding condition evaluates to true.

This approach avoids undefined property values by coercing false conditions to undefined through the short circuit evaluation. As a result, the resulting object will only contain properties that correspond to met conditions.

The above is the detailed content of How Can I Conditionally Add Members to JavaScript Objects Elegantly?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template