자바스크립트(javascript) - arguments 객체, 개념, 사용법, 알기
이 arguments 객체가 무엇일까?
이 arguments 객체는 MDN 사이트에서 정의하는 글을 인용하자면,
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Functions/arguments
arguments 객체는 함수에 전달된 인수에 해당하는 Array 형태의 객체입니다.
자, 그럼 저 arguments 객체가 도대체 무엇인지 예제를 통해서 살펴보자.
function func1() {
for(let i = 0; i<arguments.length; i++){
console.log(arguments[i])
}
console.log('-->>' + arguments[0], arguments[1], arguments[9]);
}
func1(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
이런 코드가 있다고 해보자.
함수 호출 부분에 func1 매개변수로 1~ 10까지 숫자를 넣어서 호출을 하고 있다.
그런데 func1 의 함수 내부를 봐보자.
분명 호출을 할 때에는 10개의 매개변수를 넣어서 호출을 하고 있는데
함수 선언된 부분은 매개변수를 받을 매개 인자가 없다.
하지만 위 코드를 실행해보면 console.log의 값들이 찍힐 것이다.
이렇게 함수에 매개변수를 넣어서 호출을 하게되면 저 함수는 받을 인자가 없다 하더라도
arguments 객체에 인수값이 배열의 성격을 띤 객체에 넣어져서 들어가 있다.
console.log 가 찍힌 결과이다.
이 처럼 함수 호출에는 받을 인자가 없다 하더라도 arguments 라는 객체에 인자 값으로 넣어서
호출한 값이 배열의 형태를 띤 객체에 값이 넣어져 있다는 것!이라고 이해하면 된다.
하지만 arguments 객체는 배열이 아니라는 거에 유의해야 한다.
이처럼 함수내부에 arguments 라는 숨겨진 객체가 있다는 것을 생각하자.
반응형
'web 언어 > HTML5 & CSS & Javascript' 카테고리의 다른 글
JS - javascript 에서의 this 를 정확히 알아보자 - 4 (new 바인딩) (0) | 2022.03.03 |
---|---|
JS - javascript 에서의 this 를 정확히 알아보자 - 3 (명시적 바인딩) (0) | 2022.03.02 |
JS - javascript 에서의 this 를 정확히 알아보자 - 2 (암시적 바인딩) (0) | 2022.03.01 |
JS - javascript 에서의 this 를 정확히 알아보자 - 1(기본 바인딩) (0) | 2022.02.28 |
HTML5 - 테이블(꾸미기 - 특수머리글, 바닥글) <thead>, <tfoot>, <tbody> (0) | 2022.02.27 |