자바스크립트 arguments 객체: 가변 인자 함수를 구현하는 방법
arguments 객체란?
자바스크립트 함수에서 모든 인자를 배열로 처리하는 arguments 객체가 있습니다. 이 객체는 함수 호출 시, 함수에 전달 된 인자들의 정보를 담고 있는 객체입니다.
function myFunction() {
console.log(arguments);
}
myFunction('apple', 'banana', 'orange');
위 코드에서는 인자로 ‘apple’, ‘banana’, ‘orange’를 전달하고 있습니다. 만약 myFunction 함수를 호출하면 arguments 객체에는 다음과 같이 인자 정보가 담겨있게 됩니다.
// 출력 결과
{
'0': 'apple',
'1': 'banana',
'2': 'orange'
}
가변 인자 함수 구현하기
arguments 객체를 사용하면 함수의 매개변수 개수를 미리 정해놓지 않아도 됩니다. 이를 이용해 가변 인자 함수를 구현할 수 있습니다.
function sum() {
let result = 0;
for (let i = 0; i < arguments.length; i++) {
result += arguments[i];
}
return result;
}
sum(1, 2, 3, 4, 5); // 15
sum(10, 20, 30); // 60
위 코드에서는 인자를 동적으로 처리하여 함수를 호출 할 때마다 전달되는 인자 개수에 따라 결과가 다르게 나올 수 있습니다.
결론
자바스크립트의 arguments 객체를 활용하면 함수에 전달된 인자 정보를 동적으로 처리할 수 있습니다. 이를 이용해 가변 인자 함수를 구현할 수 있으며, 코드를 보다 유연하게 할 수 있습니다.
자바스크립트 arguments 객체, 가변 인자 함수