Get to know MDN better
This page was translated from English by the community. Learn more and join the MDN Web Docs community.
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2016년 9월.
나머지 매개변수 구문을 사용하면 함수가 정해지지 않은 수의 매개변수를 배열로 받을 수 있습니다. JavaScript에서 가변항 함수를 표현할 때 사용합니다.
함수의 마지막 매개변수 앞에 "..."(세 개의 U+002E FULL STOP 문자)를 붙이면 (사용자가 제공한) 모든 후속 매개변수를 표준 JavaScript 배열에 넣도록 지정합니다. 마지막 매개변수만 나머지 매개변수로 설정할 수 있습니다.
함수 정의에는 하나의 ...만 존재할 수 있습니다.
나머지 매개변수는 반드시 함수 정의의 마지막 매개변수여야 합니다.
나머지 매개변수와 arguments 객체 사이에는 세 개의 주요 차이가 있습니다.
나머지 매개변수는 다수의 인수를 배열로 변환하는 과정의 보일러플레이트 코드를 줄이기 위해 도입됐습니다.
아래 예제에서, 첫 번째 인수는 a, 두 번째 인수는 b로 맵핑되므로 이 두 개의 인수는 일반적인 방법으로 사용할 수 있습니다.
그러나 세 번째 인수인 manyMoreArgs는 셋, 넷, 다섯, 여섯, ... n번째 인수까지, 사용자가 제공한 만큼의 인수를 포함한 배열입니다.
매개변수를 세 개만 제공하더라도 마지막 인수는 여전히 배열인 것을 확인할 수 있습니다.
그리고 아래에선 매개변수를 두 개만 제공했지만, manyMoreArgs는 여전히 (빈) 배열입니다.
theArgs가 배열이므로, length 속성을 사용하면 길이를 알아낼 수 있습니다.
이 예제에서는 첫 번째 이후의 모든 매개변수를 배열에 모은 후, 각각의 값을 첫 번째 매개변수로 곱한 결과를 반환합니다.
나머지 매개변수에서는 Array 메서드를 사용할 수 있지만, arguments 객체에서는 사용할 수 없습니다.
arguments 객체에 Array 메서드를 사용하려면 우선 arguments를 실제 배열로 변환해야 합니다.
| ECMAScript® 2027 Language Specification # sec-function-definitions |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 2025년 6월 27일 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.