rest 파라미터는 arguments를 보다 쉽게 사용할수 있는 ES6 이후의 문법입니다.
함수를 만들때 파라미터 앞에 … 이라는 기호를 붙이면 사용할수 있습니다.
const func = (...param) => {
console.log(param);
};
func(1,2,3); // [1,2,3]
위 코드처럼 파라미터 앞에 …을 붙이면 arguments와 동일하게 파라미터들을 배열로 반환해주는것을
알수있습니다.
rest 파라미터의 위치를 다른 위치에서 사용한다면 어떻게 될까요?
const func = (a, b, ...param) => {
console.log(param);
};
func(1,2,3,4,5,6); // [3,4,5,6]
위 코드처럼 a와 b는 각각 1,2 의 값을 갖게되며, 나머지 3,4,5,6의 값들이 rest 파라미터로 인하여
배열의 형태로 반환되게 됩니다.
const func = (a, ...param, b) => {
console.log(param);
}; // 에러 발생
const func2 = (a, ...param, ...param2) => {
}; // 에러 발생