Maison >interface Web >js tutoriel >Comment puis-je ajouter efficacement des membres d'objet conditionnels en JavaScript ?

Comment puis-je ajouter efficacement des membres d'objet conditionnels en JavaScript ?

DDD
DDDoriginal
2024-12-05 12:28:09454parcourir

How Can I Efficiently Add Conditional Object Members in JavaScript?

Ajout conditionnel de membre d'objet en JavaScript

En JavaScript, la pratique courante pour l'ajout conditionnel d'un membre à un objet implique une instruction if-else :

var a = {};
if (someCondition)
    a.b = 5;

Bien que cette méthode fonctionne, elle peut être considérée comme moins idiomatique. Pour obtenir une solution plus concise et flexible, nous pouvons explorer des approches alternatives.

Une tentative consiste à utiliser l'opérateur ternaire dans la déclaration d'objet :

a = {
    b: (someCondition? 5 : undefined)
};

Cependant, cette approche aboutit à un objet où b est présent mais a une valeur indéfinie.

Pour un cas général avec plusieurs membres conditionnels, nous pouvons utiliser une approche plus élaborée utilisant l'opérateur de propagation et le court-circuit ET logique évaluation :

const a = {
   ...(someCondition && {b: 5})
}

Dans cette syntaxe, l'opérateur de propagation décompresse l'objet entre parenthèses et l'ajoute à un if someCondition est vrai. L'opérateur logique ET (&&) garantit que l'objet n'est ajouté que si someCondition est vraie, et l'évaluation du court-circuit empêche l'évaluation de l'expression {b : 5} si someCondition est fausse.

Cette approche fournit un moyen propre et efficace d'ajouter conditionnellement des membres à un objet en JavaScript.

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!

Déclaration:
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