Comprensión general de Spread vs Rest con matrices en Javascript

Dec 19 2022
Spread Spread on Concatenation of multiple Arrays Spread Operator en javascript permite que los Arrays se expandan como sus elementos, lo cual es útil cuando se concatenan múltiples arrays. nuestro código es mucho más legible y limpio, también podemos generar la copia de una matriz según nuestra necesidad con la ayuda de propagación en javascript.

Untado

Propagación en la concatenación de múltiples matrices

Spread Operator en javascript permite que las matrices se expandan como sus elementos, lo cual es útil cuando se concatenan varias matrices. Por ejemplo,

const a = ["a","b","c"]
const b = ["d","e","f"]
const c = ["g","h","i"]

const d = a.concat(b).concat(c)

const d = [...a,...b,...c]

//When logging d into console we get the same output i.e 
// ["a","b","c","d',"e","f","g","h","i"]

const d = [...a,"whatever",...b,"whatever2",...c]

cuando tenemos que pasar varios argumentos en una llamada de función, la extensión es de gran ayuda para que nuestro código sea mucho más legible y limpio,

function add(a,b,c){
  console.log(`The sum is: ${a+b+c}`)
}
const numbers = [1,2,3]
add(...numbers)

//Output
// The sum is: 6

también podemos generar la copia de una matriz según nuestra necesidad con la ayuda de propagación en javascript.

const a = ["a","b","c"]
const b = [...a]

b.push("d")
console.log(a)
console.log(b)

//Output:
// [ 'a', 'b', 'c' ]
//[ 'a', 'b', 'c', 'd' ]

Rest es similar a Spread en el caso de su sintaxis, pero es completamente opuesta en cuanto a su funcionamiento.

function sayHello(name,...topics){
    topics.map((topic) => 
    console.log(`Sometimes ${topic} is more art than ${topic}, ${name}!`)
    )
}
sayHello("Morty","Science","Programming")

//Output:
//Sometimes Science is more art than Science, Morty!
//Sometimes Programming is more art than Programming, Morty!

Conclusión

Para terminar todo esto, el operador de distribución se usa para desestructurar una matriz en sus elementos individuales, mientras que el operador de descanso se usa para construir una matriz a partir de los elementos dados.