ES6(ES2015)에서는 개발자의 작업을 한결 수월하게 만들어 주는 나머지 매개변수(Rest Parameter)가 도입되었습니다. 나머지 매개변수는 세 개의 점 ...으로 표시하며, 일반 매개변수 이름 앞에 위치합니다.
나머지 매개변수란?
함수를 호출할 때 전달되는 인자의 개수가 정해져 있지 않은 경우, 나머지 매개변수를 활용하면 여러 개의 인자를 하나의 배열로 묶어 손쉽게 처리할 수 있습니다. 기존의 arguments 객체 방식보다 직관적이고 가독성이 뛰어나 실무에서 널리 사용됩니다.
예제 코드
다음 코드 예제를 통해 나머지 매개변수의 동작 방식을 살펴보겠습니다.
<html>
<body>
<script>
function addition(…numbers) {
var res = 0;
numbers.forEach(function (number) {
res += number;
});
return res;
}
document.write(addition(3));
document.write(addition(5,6,7,8,9));
</script>
</body>
</html>
동작 원리
위 예제에서 ...numbers는 함수 호출 시 전달된 모든 인자를 배열 형태로 수집합니다. 이후 forEach() 메서드로 각 숫자를 순회하며 누적합을 계산한 뒤 결과를 반환합니다.
실행 결과
addition(3)→ 인자 1개만 더해 3 출력addition(5,6,7,8,9)→ 다섯 개의 인자를 모두 더해 35 출력
이처럼 나머지 매개변수를 사용하면 인자 개수와 무관하게 유연하게 동작하는 함수를 간결하게 작성할 수 있습니다.