[JavaScript] 가변 길이 인자를 갖는 함수

자바스크립트는 긍정적으로 본다면 매우 유연한 언어입니다. 이러한 유연한 부분 중 함수에서 가변 길이 인자에 대한 예를 정리해 봅니다. 함수에서 가변 인자를 사용하기 위해 arguments라는 식별자를 사용합니다.

function func(/*a, b*/)
{
    if(arguments.length != 2)
    {
        throw new Error("인자가 옳바르지 않음.");
    }

    var arg0 = arguments[0];
    var arg1 = arguments[1];

    document.write(arg0 + ", " + arg1);
}

try 
{
    func(1,2);
} 
    catch(e)
{
    document.write("catch error");
}

위의 코드에서 정의한 함수 func는 2개의 인자를 받도록 되어 있습니다. 2개의 인자인지 arguments의 length 속성을 사용합니다. 각각의 인자는 마치 배열처럼(배열은 아님) 0부터 시작하는 인덱스 값을 사용합니다.

끝으로 arguments는 callee라는 프로퍼티를 통해 자신에 대한 함수 자체를 참조할 수 있도록 합니다.