Maison  >  Article  >  interface Web  >  Comment modifier les propriétés d'un objet existant à l'aide de la déstructuration dans ES6 ?

Comment modifier les propriétés d'un objet existant à l'aide de la déstructuration dans ES6 ?

DDD
DDDoriginal
2024-10-30 21:53:02580parcourir

How Can You Modify Existing Object Properties Using Destructuring in ES6?

Déstructuration étendue d'objets

Dans ES6, la déstructuration est une syntaxe qui vous permet de décompresser les valeurs d'un tableau ou d'un objet en variables individuelles. Bien que la déstructuration soit incroyablement pratique, elle peut être limitée si vous souhaitez attribuer des valeurs à un objet existant.

Considérez le scénario suivant :

var foo = {
  x: "bar",
  y: "baz"
}
var oof = {}

Supposons que vous souhaitiez transférer le Propriétés x et y de foo à oof en utilisant la déstructuration. Une tentative simple pourrait ressembler à ceci :

oof{x,y} = foo

Cependant, cela ne fonctionnera pas. Alors, comment pouvez-vous modifier les propriétés d'un objet existant à l'aide de la déstructuration ?

Une solution possible

Bien que ce ne soit pas l'approche la plus élégante, vous pouvez utiliser une combinaison de déstructuration et d'affectation pour obtenir le résultat souhaité :

({x: oof.x, y: oof.y} = foo);

Cela lira les propriétés x et y de foo et les attribuera aux propriétés correspondantes sur oof.

Approches alternatives

Les approches alternatives pour mettre à jour les propriétés des objets incluent :

oof.x = foo.x;
oof.y = foo.y;

ou

['x', 'y'].forEach(prop => oof[prop] = foo[prop]);

Ces approches peuvent être plus explicites et plus lisibles, selon vos préférences.

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