Maison > interface Web > js tutoriel > Comment ajouter conditionnellement des membres à un objet JavaScript ?

Comment ajouter conditionnellement des membres à un objet JavaScript ?

DDD
Libérer: 2024-12-04 06:56:09
original
745 Les gens l'ont consulté

How to Conditionally Add Members to a JavaScript Object?

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;
Copier après la connexion

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)
};
Copier après la connexion

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})
}
Copier après la connexion

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!

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal