JS (Java Script)

나머지 파라미터 (Rest 파라미터) / spread operator 과 구분

GABOJOK 2023. 9. 6. 21:18

 Rest 파라미터   

파라미터 자리에 오는 모든 파라미터를 [] 에 보관해 줘서 여분의 파라미터 들을 보관하기에 용이하다.

 

 

함수 내부에서 쓰이는 arguments와 유사하지만,

arguments는 파라미터 전부를 배열 같은거에 담고, 임시 파라미터는 조작 불가.

 

Rest 파라미터 (즉, 나머지 파라미터) 는 파라미터 + 그리고 나머지 파라미터 의 느낌이다.  임시 파라미터 조작 가능

 

 

함수의 파라미터 자리에 ...파라미터명 이렇게 적으면 rest 파라미터이다. (ES6 문법).  아주 유연하다. 

 

주의점은 파라미터의 자리 마지막에 사용해야 한다. 

파라미터 자리에서 rest 파라미터가 먼저 나오고 뒤에 다른 일반 파라미터가 나오면 오류남. 

 

하나의 함수 안에 파라미터 자리에서 2개의 rest파라미터 를 사용할 수 없다.

      function 함수2(a, b, ...para) {

         console.log(para)  //[3, 4, 5, 6, 7]

       }

      함수2(1, 2, 3, 4, 5, 6, 7);

 

 

 

...은 "나머지 파라미터" 혹은 "spread operator" 로 사용되는데 이걸 어떻게 구분 할 수 있을까?

 

     함수의 파라미터 자리에 온다면____ Rest 파라미터

     그게 아니라면 _________________모두 spread operator 임.