Javascript: assegna un oggetto alla variabile [duplicato]

Sep 15 2020

Ho un oggetto esistente con alcune proprietà:

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

Quindi, voglio assegnare le filterproprietà di questo oggetto a un altro oggetto durante la dichiarazione della variabile:

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

Di conseguenza, voglio ottenere tale oggetto:

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

Posso farlo subito dopo la spritedichiarazione della variabile in questo modo:

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

Ma è possibile assegnare proprietà di un altro oggetto durante la dichiarazione delle variabili?

Sarebbe molto conveniente nel caso in cui ci siano molti-molti oggetti di scena in un oggetto e JS consentirà di implementare tale assegnazione durante la dichiarazione delle variabili per eliminare la post-elaborazione ridondante.

Risposte

4 Reyno Sep 15 2020 at 15:33

Puoi usare l' operatore spread per "diffondere" i valori degli oggetti di scena all'interno della variabile sprite.

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

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

console.log(sprite);