Operador de propagación, JavascriptES6.

Anamnesis de un motivado

Operador de propagación, JavascriptES6.

En muchas ocasiones, necesitamos hacer una composición de dos objetos.
Solemos recurrir a la siguiente fórmula para resolver el problema.

const object1 = {
  a: 'xxx'
};
const object2 = {
  b: 'yyy'
};

const mergedObject = {
  a: object1.a,
  b: object2.b
};

Puede que necesitemos hacer una composición de arrays.
¿Cuál es la solución más común?

const numbers = ['uno','dos','tres'];
const moreNumbers = ['cuatro','cinco','seis'];

numbers.push(moreNumbers);

¿Y si necesitamos colocar el segundo array en medio de los otros items?
Ya estamos recorriendo irremediablemente.

Pues… hay una alternativa.

const mergedObject = {
  ...object1,
  ...object2
};
// mergedObject = { a: 'xxx', b: 'yyy' }


const numbers = ['uno','dos','tres'];
const moreNumbers = [...numbers, 'cuatro','cinco','seis'];
// moreNumbers = ['uno','dos','tres', 'cuatro','cinco','seis']

const numbers = ['uno','dos','tres'];
const moreNumbers = ['cuatro', ...numbers, 'cinco','seis'];
// moreNumbers = ['cuatro', 'uno','dos','tres','cinco','seis']

Espero que os resulte útil !!