
Argument 처리 메커니즘
Argument 처리 구조
- 파라미터를 {key: value} 형태로 저장
- 파라미터 수만큼 0부터 인덱스 부여
- key로 사용
- 파라미터로 받은 값을 value에 설정
- {0: param1, 1: param2}
function get(){
return arguments;
};
log(get("A", "B"));
- Array-like
- key 값이 0부터 1씩 증가
- length 프로퍼티가 있어야 함
엔진의 파라미터 처리
var get = function(one){
return one;
};
get(77, 100);
-
get() 함수를 호출하면서 77과 100을 파라미터 값으로 넘겨줌
-
넘겨받은 값을 함수의 파라미터 이름에 설정
- 정적 환경의 선언적 환경 레코드에 설정
- one: 77
-
Argument 오브젝트를 생성함
-
넘겨받은 파라미터 수를
- Argument 오브젝트의 length 프로퍼티에 설정
-
넘겨받은 파라미터 수만큼 반복하면서
- 0부터 key로 하여 순서대로 파라미터 값을 설정
- {0: 77}, {1: 100} 형태가 됨
-
함수의 초기화 단계에서 실행