Argument
1. Argument 처리 구조
파라미터를 {key: value} 형태로 저장한다.
파라미터 수만큼 0부터 인덱스를 부여하여 key로 사용한다.
파라미터로 받은 값을 value에 설정한다.
function get(){
return arguments;
};
console.log(get("A", "B"));
[실행 결과]
{0: A, 1: B}
이런 형태를 Array-like 라고 한다.
Array-like는 key 값이 0부터 1씩 증가해야 하고,
length 프로퍼티가 있어야한다. (=for 문으로 돌릴 수 있어야 한다.)
프로퍼티이기 때문에 array가 될 수는 없지만 array처럼 처리된다.
2. 파라미터 처리 순서
var get = function (one){
return one;
};
get("A", "B");
get()
함수를 호출하면서 파라미터 값을 넘겨준다.
- 넘겨받은 값을 함수의 파라미터 이름에 설정한다.
ex) one: A
- Argument 오브젝트를 생성한다.
- 넘겨받은 파라미터 수를 Argument 오브젝트의 length 프로퍼티에 설정한다.
- 넘겨받은 파라미터 수만큼 반복하면서 key를 0부터 순서대로 파라미터 값을 설정한다.
ex) {0: A},{1: B}
✓ 함수의 초기화 단계에서 실행한다.