arguments 객체

함수를 호출할 때 인수들과 함께 암묵적으로 arguments 객체가 함수 내부로 전달된다. arguments 객체는 함수를 호출할 때 넘긴 인자들이 배열 형태로 저장된 객체를 의미한다. 이 객체는 실제 배열이 아닌 유사 배열 객체 이다.

arguments 객체는 매개변수 개수가 정확하게 정해지지 않은 함수를 구현하거나, 전달된 인자의 개수에 따라 서로 다른 처리를 해줘야 하는 함수를 개발하는데 유용하게 사용할 수 있다.

function sum(){
    var result = 0;

    for(var i=0;i<arguments.length;i++){
        result += arguments[i]
    }

    return result;
}

sum(1,2,3);                 // 6
sum(1,2,3,4,5,6,7,8,9);     // 45