October 8, 2021
상당수의 자바스크립트 내장 함수는 인수의 개수에 제약을 두지 않습니다.
예시:
Math.max(arg1, arg2, ..., argN)
– 인수 중 가장 큰 수를 반환합니다.Object.assign(dest, src1, ..., srcN)
– src1..N
의 프로퍼티를 dest
로 복사합니다.이번 챕터에서는 이렇게 임의의 수의 인수를 받는 방법에 대해 알아보겠습니다. 또한 함수의 매개변수에 배열을 전달하는 방법에 대해서도 알아보겠습니다.
앞부분의 매개변수는 변수로, 그 이외의 매개변수들은 배열로 모을 수도 있습니다.
아래 예시에선 처음 두 인수는 변수에, 나머지 인수들은 titles
이라는 배열에 할당됩니다.
function showName(firstName, lastName, ...titles) {
alert( firstName + ' ' + lastName ); // Julius Caesar
// 나머지 인수들은 배열 titles의 요소가 됩니다.
// titles = ["Consul", "Imperator"]
alert( titles[0] ); // Consul
alert( titles[1] ); // Imperator
alert( titles.length ); // 2
}
showName("Julius", "Caesar", "Consul", "Imperator");
"..."
은 나머지 매개변수나 전개 문법으로 사용됩니다.
나머지 매개변수와 전개 문법은 아래의 방법으로 구분할 수 있습니다.
...
이 함수 매개변수의 끝에 있으면 인수 목록의 나머지를 배열로 모아주는 '나머지 매개변수’입니다....
이 함수 호출 시 사용되면 배열을 목록으로 확장해주는 '전개 문법’입니다.사용 패턴: