JavaScript에서 함수를 호출할 때 원하는 수의 인수를 전달할 수 있습니다. 기능 매개변수 제한이 없습니다. 이것은 또한 js에서 전통적인 방식으로 함수를 오버로드할 수 없다는 것을 의미합니다.
arguments 객체는 화살표가 아닌 모든 함수 내에서 사용할 수 있는 지역 변수입니다. arguments 객체를 사용하여 해당 함수 내에서 함수의 인수를 참조할 수 있습니다. 함수가 호출된 각 인수에 대한 항목이 있으며 첫 번째 항목의 인덱스는 0입니다.
예를 들어 함수에 3개의 인수가 전달되면 다음과 같이 액세스할 수 있습니다. -
arguments[0] // first argument arguments[1] // second argument arguments[2] // third argument
참고 - 인수는 해당 함수에 전달된 인수의 값을 포함하는 함수 내에서 액세스할 수 있는 배열과 유사한 객체입니다. "배열 유사"는 인수에 길이 속성이 있고 속성이 0부터 인덱싱되지만 forEach() 및 map()과 같은 내장 메서드가 없음을 의미합니다.
예를 들어, 임의의 수의 인수를 허용하려면 다음과 같이 함수를 만들 수 있습니다. -
예시
function printAllArguments(a, b) { console.log("First arg: " + a) console.log("Second arg: " + b) console.log("All args: " + arguments) } printAllArguments(1) printAllArguments(1, "hello") printAllArguments(1, "hello", 1, "hello")
출력
First arg: 1 Second arg: undefined All args: {"0":1} First arg: 1 Second arg: hello All args: {"0":1,"1":"hello"} First arg: 1 Second arg: hello All args: {"0":1,"1":"hello","2":1,"3":"hello"}