Rest
New to ES6 is the ability to pass in a variable number of arguments. These arguments are stored as array instances:
function myFunc(...args){
return `You have passed in ${args.length} arguments`
}
myFunc(1,4,6,10,20) // You have pass in 5 arguments
Since the arguments are stored as array instances we can use array methods directly on the arguments:
function myFunc(...args){
let myArr = args
let first = myArr.shift()
return first
}
myFunc(1,4,7,10) // returns 1
Spread
Also new to ES6 is the spread operator. Spread allows an iterable to expand in places where more than one argument is expected:
const myArr = [1,5,10]
const myArrTwo = [2,4,6, ...myArr]
console.log(myArrTwo) // [2,4,6,1,5,10]
You can also use the spread operator to easily copy an array:
const myArr = [1,5,10,100,200]
const copyArr = [...myArr]
console.log(copyArr) // [1,5,10,100,200]
Top comments (0)