Comprensión general de Spread vs Rest con matrices 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.

![¿Qué es una lista vinculada, de todos modos? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































