El operador de difusión de JavaScript

Aprenda los conceptos básicos del operador de difusión de JavaScript

Puede expandir una matriz, un objeto o una cadena utilizando el operador de propagación....

Comencemos con un ejemplo de matriz. Dado

const a = [1, 2, 3]

puedes crear una nueva matriz usando

const b = [...a, 4, 5, 6]

También puede crear una copia de una matriz usando

const c = [...a]

Esto también funciona para objetos. Clonar un objeto con:

const newObj = { ...oldObj }

Usando cadenas, el operador de propagación crea una matriz con cada carácter en la cadena:

const hey = 'hey'
const arrayized = [...hey] // ['h', 'e', 'y']

Este operador tiene algunas aplicaciones bastante útiles. El más importante es la capacidad de usar una matriz como argumento de función de una manera muy simple:

const f = (foo, bar) => {}
const a = [1, 2]
f(...a)

loselemento de descansoes útil cuando se trabaja condesestructuración de matrices:

const numbers = [1, 2, 3, 4, 5]
const [first, second, ...others] = numbers

ydifundir elementos:

const numbers = [1, 2, 3, 4, 5]
const sum = (a, b, c, d, e) => a + b + c + d + e
const result = sum(...numbers)

ES2018 introduce propiedades de descanso, que son las mismas pero para objetos.

Propiedades de descanso:

const { first, second, ...others } = {
  first: 1,
  second: 2,
  third: 3,
  fourth: 4,
  fifth: 5
}

first // 1 second // 2 others // { third: 3, fourth: 4, fifth: 5 }

Propiedades de propagaciónpermite crear un nuevo objeto combinando las propiedades del objeto pasado después del operador de propagación:

const items = { first, second, ...others }
items //{ first: 1, second: 2, third: 3, fourth: 4, fifth: 5 }

También es la manera perfecta de fusionar dos objetos simples en uno:

const object1 = {
  name: 'Flavio'
}

const object2 = { age: 35 }

const object3 = {…object1, …object2 }


Más tutoriales de js: