Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

몽탁이의 개발일기

arguments 객체 본문

Javascript 정리

arguments 객체

몽탁 2020. 6. 30. 12:34

 자바스크립트에서 함수를 정의하면 자동으로 함수 내부에 arguments 객체가 생깁니다.

arguments 객체는 함수안에 정의되어있기 때문에 메소드라고도 합니다.

 

 arguments 객체는 배열의 역할과 비슷하다고 하여 유사배열객체라고 합니다. 여기서 주의할 점은 유사 배열 객체는

말 그대로 유사 배열 객체이지 배열이 아니란 것을 알아야 됩니다. 배열이 아니기 때문에 배열 객체의 메소드를 사용할 수가 없습니다. 대신 유사배열객체는 apply 메소드를 사용하여 배열처럼 사용할 수 있습니다.

 

function sum(){

    var i, _sum=0;

    for(i=0; i<arguments.length; i++){

         _sum += arguments[i];

    }

    return _sum;

}

 

console.log(sum(1,2,3,4));

 

 위 예제는 arguments 객체를 이용하여 매개변수가 없어도 인자로 넘긴 값들을 모두 합한 값이 출력이 되는 것을 확인할 수 있습니다.

 

 그 이유는 매개변수가 없어도 인자로 전달된 값들은 arguments라는 객체 안에 배열처럼 저장되어 있기 때문입니다.


arguments 객체 사용 시 주의할 점

 

function one(arg1){ 

     console.log('one.lengh', one.length,

                    'arguments', arguments.length);

}

 

one('val1','val2');

 

위 예제는 arguments 객체는 매개변수와 상관없이 인자 값으로 전달된 개수만큼 length가 나와 2가 출력되고

one.length는 가지고 있는 매개변수의 개수를 출력하여 1이 나오는 것을 확인할 수 있습니다. 

 

 

 

'Javascript 정리' 카테고리의 다른 글

생성자  (0) 2020.06.30
apply 메소드  (0) 2020.06.30
클로저 사용시 주의사항  (0) 2020.06.29
클로저(Closure)  (0) 2020.06.29
자바스크립트에서의 함수  (0) 2020.06.29