Javascript: attribuer un objet à la variable [dupliquer]

Sep 15 2020

J'ai un objet existant avec quelques propriétés:

var props = {
  filters: {
    brightness: 0,
    opacity: 1,
  }
}

Donc, je veux attribuer les filterpropriétés de cet objet à un autre objet lors de la déclaration de variable:

var sprite = {
  configs: {
    image: 'pic.png',
    // <- assign `props.filters` right here
  }
}

En conséquence, je veux obtenir un tel objet:

{
  configs: {
    image: 'pic.png',
    brightness: 0,
    opacity: 1,
  }
}

Je peux le faire juste après spriteune déclaration de variable comme ceci:

Object.assign(sprite.configs, props.filters);

Mais est-il possible d'attribuer les propriétés d'un autre objet lors de la déclaration de variable?

Ce serait très pratique dans le cas où il y aurait plusieurs accessoires dans un objet et JS permettra d'implémenter une telle affectation pendant la déclaration de variable pour éliminer le post-traitement redondant.

Réponses

4 Reyno Sep 15 2020 at 15:33

Vous pouvez utiliser l' opérateur de propagation pour "répartir" les valeurs des accessoires à l'intérieur de la variable sprite.

const props = {
  filters: {
    brightness: 0,
    opacity: 1,
  }
};

const sprite = {
  configs: {
    image: 'pic.png',
    ...props.filters,
  }
};

console.log(sprite);