Maison > interface Web > js tutoriel > Comment puis-je ajouter conditionnellement des membres aux objets JavaScript avec élégance ?

Comment puis-je ajouter conditionnellement des membres aux objets JavaScript avec élégance ?

Barbara Streisand
Libérer: 2024-12-19 21:40:12
original
910 Les gens l'ont consulté

How Can I Conditionally Add Members to JavaScript Objects Elegantly?

Insertion conditionnelle de membres dans les objets JavaScript : une solution moderne

Alors que l'approche traditionnelle consistant à ajouter conditionnellement des membres à un objet en utilisant des instructions if est simple, il peut être unidiomatique et verbeux. Une solution plus élégante consiste à exploiter l’opérateur ternaire conditionnel ?: dans le littéral objet. Cependant, cette approche entraîne des valeurs de membre non définies lorsque la condition est évaluée comme fausse.

Pour résoudre ce problème, une solution plus robuste consiste à utiliser l'opérateur de propagation (...) en conjonction avec une évaluation logique ET de court-circuit. . Cette technique permet l'inclusion conditionnelle de plusieurs membres dans une seule expression :

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

Dans ce scénario, l'opérateur de propagation étend les littéraux d'objet en propriétés individuelles au sein de l'objet a englobant. L'opérateur logique ET && garantit que chaque propriété n'est incluse que si sa condition correspondante est évaluée comme vraie.

Cette approche évite les valeurs de propriété non définies en forçant les fausses conditions à être indéfinies via l'évaluation du court-circuit. De ce fait, l'objet résultant ne contiendra que des propriétés qui correspondent aux conditions remplies.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal