Javascript: asignar objeto a variable [duplicado]

Sep 15 2020

Tengo un objeto existente con algunas propiedades:

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

Entonces, quiero asignar filterpropiedades de este objeto a otro objeto durante la declaración de variable:

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

Como resultado, quiero obtener dicho objeto:

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

Puedo hacerlo justo después de spriteuna declaración de variable como esta:

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

Pero, ¿es posible asignar propiedades de otro objeto durante la declaración de variable?

Sería muy conveniente en caso de que haya muchos accesorios en un objeto y JS permitirá implementar dicha asignación durante la declaración de variable para eliminar el procesamiento posterior redundante.

Respuestas

4 Reyno Sep 15 2020 at 15:33

Puedes usar el operador de extensión para "extender" los valores de los accesorios dentro de la variable sprite.

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

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

console.log(sprite);