Maison >interface Web >js tutoriel >Comment puis-je ajouter des membres d'objet de manière conditionnelle en JavaScript sans propriétés non définies ?
En JavaScript, il est courant d'ajouter des membres aux objets de manière dynamique. Cependant, lorsque ces ajouts doivent être conditionnels, l'approche la plus simple conduit souvent à des membres non définis.
Dans la tentative de créer un code idiomatique :
a = { b: (someCondition? 5 : undefined) };
le membre b est ajouté au un objet quel que soit le résultat someCondition, ce qui fait que sa valeur n'est pas définie si la condition est fausse.
Pour résoudre ce problème, une solution plus concise peut être utilisée en utilisant le spread opérateur (...) et évaluation logique ET de court-circuit (&&) :
const a = { ...(someCondition && {b: 5}) }
Ce code élimine le besoin d'opérateurs conditionnels. L'opérateur spread développe les accolades dans l'objet a, en ajoutant le membre b si someCondition est vraie. L'évaluation logique ET de court-circuit garantit que les accolades ne sont évaluées que si someCondition est vraie, empêchant ainsi l'ajout d'un membre non défini.
Cette approche peut être facilement étendue pour gérer plusieurs membres conditionnels :
const a = { ...(conditionB && {b: 5}), ...(conditionC && {c: 5}), ...(conditionD && {d: 5}), ...(conditionE && {e: 5}), ...(conditionF && {f: 5}), ...(conditionG && {g: 5}), }
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!