Comprensione generale di Spread vs Rest con array in Javascript

Dec 19 2022
Spread Spread sulla concatenazione di più array Spread Operator in javascript consente agli array di essere espansi come i loro elementi, il che è utile quando si concatenano più array. Ad esempio, quando dobbiamo passare più argomenti in una chiamata di funzione, spread è di grande aiuto per fare il nostro codice è molto più leggibile e pulito, possiamo anche generare la copia di un array secondo le nostre necessità con l'aiuto di spread in javascript.

Propagazione

Diffusione sulla concatenazione di più array

Spread Operator in javascript consente di espandere gli array come i loro elementi, il che è utile quando si concatenano più array. Ad esempio,

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]

quando dobbiamo passare più argomenti in una chiamata di funzione, spread è di grande aiuto per rendere il nostro codice molto più leggibile e pulito,

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

possiamo anche generare la copia di un array secondo le nostre necessità con l'aiuto di spread in 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 è simile a Spread nel caso della sua sintassi, ma è completamente opposto in termini di funzionamento.

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!

Conclusione

Per concludere tutto ciò, l'operatore Spread viene utilizzato per destrutturare un array nei suoi singoli elementi, mentre l'operatore rest viene utilizzato per costruire un array dagli elementi dati.