Rest 파라미터

|

코딩애플 강의를 보고 정의

arguments문법보다 더 쉬운 Rest 파라미터, es6문법이다.
점 세개만 찍으면 된다.


Rest 파라미터

function fun(...parameters) {
  console.log(parameters);
}

fun(1, 2, 3, 4, 5, 6, 7); // [1,2,3,4,5,6,7]

위 코드를 실행해보면 parameters이라는 변수를 출력해주는데, array안에 담아서 출력해주고있다.
... 이 기호를 붙여주면 이 자리에 오는 모든 파라미터를 [] 중괄호로 감싸준 파라미터 라는 뜻이 된다.

또 다른 예로 다음과 같은 코드를 들 수 있겠다.

function fun2(a, b, ...parameters) {
  console.log(parameters);
}

fun2(1, 2, 3, 4, 5, 6, 7); // [3,4,5,6,7]

첫 두개의 파라미터는 a,b로 쓰는데,
a,b 그 뒤에 나오는 모든 파라미터는 중괄호에 감싸서 array가 된다.

주의사항

rest는 사전적 정의로 나머지를 뜻한다.
의미대로 나머지 부분에만 사용이 가능해서 항상 마지막 파라미터에 넣어야한다.

function fun(a, ...parameters, b){
  console.log(parameters)
}

이렇게 넣으면 에러가 난다.

function fun(a, ...parameters, ...parameters2){
  console.log(parameters)
}

이렇게도 안된다고 한다. 2개 이상은 사용할 수 없다고 한다.