패키지최상위
클래스public class arguments
상속arguments Inheritance Object

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0 Flash Player 8

arguments 객체는 함수의 인수를 저장하고 인수에 액세스하는 데 사용됩니다. 함수의 본문 내에서 로컬 인수 변수를 사용하여 함수의 arguments 객체에 액세스할 수 있습니다.

이 인수는 배열 요소로 저장됩니다. 즉, 첫 번째 인수는 arguments[0]으로 액세스되고, 두 번째 인수는 arguments[1]로 액세스됩니다. arguments.length 속성은 함수에 전달된 인수의 개수를 나타냅니다. 함수에 선언된 인수의 수와 함수에 전달되는 인수의 수는 서로 다를 수 있습니다.

이전 버전의 ActionScript와 달리 ActionScript 3.0에는 arguments.caller 속성이 없습니다. 따라서 현재 함수를 호출한 함수에 대한 참조를 가져오려면 해당 함수에 대한 참조를 인수로 전달해야 합니다. 이 방법을 사용한 예제는 arguments.callee 관련 예제를 참조하십시오.

ActionScript 3.0에는 arguments 클래스를 대신할 ...(rest) 키워드가 새로 도입되었습니다.

예제 보기

참고 사항

...(rest)
Function


Public 속성
 속성다음에 의해 정의됨
  callee : Function
현재 실행 중인 함수에 대한 참조입니다.
arguments
 Inheritedconstructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다.
Object
  length : Number
함수에 전달된 인수의 수입니다.
arguments
 Inheritedprototype : Object
[정적] 클래스 또는 함수 객체의 프로토타입 객체에 대한 참조입니다.
Object
Public 메서드
 메서드다음에 의해 정의됨
 Inherited
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다.
Object
 Inherited
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다.
Object
 Inherited
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다.
Object
 Inherited
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다.
Object
 Inherited
지정된 객체의 문자열 표현을 반환합니다.
Object
 Inherited
지정된 객체의 프리미티브 값을 반환합니다.
Object
속성 정보
callee속성
public var callee:Function

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0 Flash Player 8

현재 실행 중인 함수에 대한 참조입니다.


예제
다음 코드에서는 secondFunction()이라는 함수를 호출하는 함수에 대한 참조를 가져오는 방법을 보여 줍니다. firstFunction() 함수는 부울 인수 true를 사용하여 secondFunction()에서 firstFunction()을 성공적으로 호출했음을 나타내며, 이는 각 함수가 상대방을 호출하는 무한 루프를 막기 위한 것입니다.

callSecond 매개 변수가 true이므로 firstFunction()에서는 secondFunction()을 호출하고 유일한 인수로 자신에 대한 참조를 전달합니다. secondFunction() 함수는 이 인수를 받은 후 Function 데이터 유형의 caller 매개 변수를 사용하여 인수를 저장합니다. 그런 다음 secondFunction() 내에서 caller 매개 변수를 사용하여 firstFunction 함수를 호출합니다. 그러나 이번에는 callSecond 인수를 false로 설정합니다.

실행 포인터가 firstFunction()으로 돌아오면 trace() 문이 실행되는데 이때 callSecondfalse입니다.

package {
    import flash.display.Sprite;
    
    public class ArgumentsExample extends Sprite {
        private var count:int = 1;
        
        public function ArgumentsExample() {
            firstFunction(true);
        }

        public function firstFunction(callSecond:Boolean) {
            trace(count + ": firstFunction");
            if(callSecond) {
                secondFunction(arguments.callee);
            }
            else {
                trace("CALLS STOPPED");
            }
        }

        public function secondFunction(caller:Function) {
            trace(count + ": secondFunction\n");
            count++;
            caller(false);
        }        
    }
}
length속성 
public var length:Number

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0 Flash Player 8

함수에 전달된 인수의 수입니다. 이 값은 함수에 선언된 수보다 많거나 적을 수 있습니다.

예제 예제 사용 방법
ArgumentsExample.as

다음 예제에서는 여러 arguments 속성, 예를 들어 calleelength 등을 사용하는 방법을 보여 줍니다.
package {
    import flash.display.Sprite;
    
    public class ArgumentsExample extends Sprite {
        public function ArgumentsExample() {
                println("Hello World");
        }
        
        public function println(str:String):void {
            trace(arguments.callee == this.println); // true
            trace(arguments.length);                 // 1
            trace(arguments[0]);                     // Hello World
            trace(str);                                // Hello World
        }
    }
}