DEV Community

Cover image for Rest Parameters and Spread Operators in Javascript
Lori "Lei" Boyd
Lori "Lei" Boyd

Posted on Edited on

Rest Parameters and Spread Operators in Javascript

Javascript has a functionality where depending on where it's used, ... can either be a rest parameter or a spread operator.

Spread Operators

spread operators allow an iterable object like an array to be expanded, unpacking each element from the array.

let fourToSix = ['four', 'five', 'six']
let numbers = ['one', 'two', 'three', ...fourToSix ]

=> ["one", "two", "three", "four", "five", "six"]

Rest Parameters

A rest parameter will bundle up all remaining elements in a parameter into an array.

const greetings = (friend, ...everyoneElse ) => {
  console.log(`Hello, ${friend}!`)
  everyoneElse.forEach(person => console.log(`Nice to meet you, ${person}!`))
}

greetings('Lei', 'Cierra', 'Aiden', 'Pierre', 'Miranda')
=> Hello, Lei!
=> Nice to meet you, Cierra!
=> Nice to meet you, Aiden!
=> Nice to meet you, Pierre!
=> Nice to meet you, Miranda!

Top comments (0)