function f (a, b, ...c) {
//
}
함수를 생성하고, 파라미터를 불러옵니다.
함수의 마지막 파라미터 앞에 들어가는 ...
이 것을 Rest Operator
라고 합니다.
모든 나머지 인자를 표준 자바스크립트 배열로 대체하기 위한 문법입니다.
function printNums(num1, num2) {
console.log(num1, num2);
}
printNums(1, 2, 3, 4, 5);
실행 결과
1 2
printNums
이라는 함수에 전달되는 파라미터는 2개 이기 때문에 1과 2만 출력됩니다.
함수로 전달된 모든 인수를 포함하는 객체인 arguments
를 콘솔로 찍어보겠습니다.
function printNums(num1, num2) {
console.log(arguments);
}
printNums(1, 2, 3, 4, 5);
실행 결과
[Arguments] { '0': 1, '1': 2, '2': 3, '3': 4, '4': 5 }
함수로 전달된 모든 인수를 argument
객체가 가지고 있습니다.
이번에는 Rest Operator
를 사용해보겠습니다.
function printNums(num1, ...num2) {
console.log(num1, num2);
}
printNums(1, 2, 3, 4, 5);
실행 결과
1 [ 2, 3, 4, 5 ]
num1
이라는 인자에 전달된 1
을 제외한 나머지 인자인 2
,3
,4
,5
가 num2
인자의 배열로 전달이 됐습니다.
함수의 마지막 파라미터 앞에 ...
을 붙어서 함수에 전달된 나머지 인자를 배열로 대체해주는 Rest Operator
의 간단한 예제를 살펴봤습니다.