본문 바로가기

JavaScript/Modern JavaScript

[JavaScript] Rest Parameter

[Rest Parameter]

 

파라미터 앞에 마침표 세 개를 붙여주면, 여러 개로 전달되는 아규먼트들을 배열로 다룰 수가 있음. arguments객체는 유사 배열이기 때문에 배열의 메소드를 활용할 수 없지만, rest parameter는 배열이기 때문에 배열의 메소드를 사용할 수 있음.

 

function printArguments(...args) {
  // args 객체의 요소들을 하나씩 출력
  for (const arg of args) {
    console.log(arg); 
  }
}

printArguments('김철수', '이훈이', '신짱구');

 

 

Rest Parameter 는 다른 일반 파라미터와 함께 사용될 수 있는데,

 

function printRankingList(first, second, ...others) {
  console.log('떡잎 유치원 운동회');
  console.log(`우승: ${first}`);
  console.log(`준우승: ${second}`);
  for (const arg of others) {
    console.log(`참가자: ${arg}`);
  }
}

printRankingList('김철수', '이훈이', '신짱구', '한유리', '맹구');

// 우승: 김철수
// 준우승: 이훈이
// 참가자: 신짱구
// 참가자: 한유리
// 참가자: 맹구

 

이름 그대로 앞에 정의된 이름 그대로 앞에 정의된 파라미터에 argument를 먼저 할당하고 나머지 argument를 배열로 묶는 역할을 하기 때문에 일반 파라미터와 함께 사용할 때는 반드시 가장 마지막에 작성해야 함.