티스토리 뷰

Javascript

자바스크립트 - Arguments(아규먼트)

babydeveloper 2022. 4. 15. 08:59

Javascript, The Arguments Object

function makeSum (num1, num2) {
return num1 + num2;
}
makeSum(4, 7);

만약에 위와 같이 어떤 숫자의 합을 구하는 간단한 function을 만들었다고 해보자.

함수 파라미터로 num1, num2에 각각 숫자를 넣으면 그 숫자의 합을 구해서 return하는 함수이다.

 

그런데 위와 같이 함수를 만들면 우리는 딱 2개의 숫자만 더할 수 있다.

그러니까 즉, 함수를 처음 만들 때 지정한 parameter의 개수만큼만 가져와서 연산할 수 있다는 말이다.

 

그렇다면 만약에 어떤 경우에는 파라미터로 3, 5, 6, 8을 넘겨주고 이 숫자들의 합을 구하고

어떤 경우에는 7, 34, 2, 7, 8, 23, 4 이 숫자들을 넘겨주어 합을 구하고 싶다면 어떻게 해야할까?

이럴 때 우리는 arguments라는 것을 사용할 수 있다.

function makeSum () {
var sum = 0;
for(var i=0; i<arguments.length; i++) {
sum += arguments[i]
}
return sum;
}
makeSum(4, 7, 8, 9, 10);
makeSum(1, 2, 3, 4);
makeSum(67, 42, 10, 7, 8, 91, 11);

 

자바스크립트 함수의 arguments속성은 MDN에서 아래와 같이 정의하고 있다.

 

Arguments is an Array-ike object accessible inside functions that contains the values of the arguments passed to that function.

 

: arguments란 어떤 함수로 전달되는 인자들의 값을 가지고 있는 배열과 유사한 형태의 객체로 그 함수의 내부에서 접근할 수 있다.

 

 

그러니까 즉 함수로 넘어오는 파라미터들을 유사 배열의 형태로 가져온다!

그렇기 때문에 위의 예제와 같이 배열 다루듯이 for문을 돌려서 사용할 수 있다.



출처: https://im-developer.tistory.com/66

 

반응형
댓글
© 2022 babydevelop