Ajout conditionnel de membres à un objet en JavaScript
Question : Comment puis-je ajouter dynamiquement des membres à un objet, selon certaines conditions, en JavaScript ?
Initial Approche :
Une approche simple consiste à utiliser une instruction if pour ajouter le membre si la condition est remplie :
var a = {}; if (someCondition) a.b = 5;
Solution idiomatique :
Pour écrire un code plus idiomatique et concis, évitez d'utiliser undefined comme valeur pour les membres conditionnels. Utilisez plutôt l'opérateur ternaire conditionnel :
a = { b: (someCondition? 5 : undefined) };
Cependant, cette approche entraîne toujours la définition du membre b avec une valeur indéfinie si la condition n'est pas remplie.
ES6 Solution avec ET logique :
Pour le cas général avec plusieurs membres, ES6 introduit une solution intelligente utilisant l'opérateur de propagation et le ET logique évaluation de court-circuit :
const a = { ...(someCondition && {b: 5}) }
L'opérateur logique ET (&&) est évalué comme faux si l'un de ses opérandes est faux. Puisque undefined est faux en JavaScript, si someCondition est faux, l'objet {b: 5} n'est pas inclus dans l'opérateur de propagation, empêchant ainsi l'ajout du membre b à l'objet.
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!