본문 바로가기
javaScript/J Query & 스크립트

arguments란? javaScript

by mooyou 2022. 4. 14.
728x90
300x250

arguments란?

  • 전달 인자라고도 하며 매개변수의 모든 정보가 담겨있는 객체이다.
  • 매개변수가 함수 선언 시 작성되는 변수라면 argument는 함수가 호출될 때 전달되는 값이다..
  • 배열은 아니지만 배열처럼 사용하면 된다.
  • 전달 인자의 개수와 매개변수의 개수가 달라도 에러가 발생하지 않는다.

만약 아래와 같은 코드를 입력하였을 경우

function User() {
    if(age < 20) {
        console.log(`${name}님은 미성년자 입니다.`);
    } else {
        console.log(`${name}님은 성인 입니다.`);
    }
}

User('Han', 17);

에러가 발생한다. 이유는 User 함수를 호출하면서 값을 넘겼지만 매개변수가 선언되지 않았기 때문이다.

age와 name 변수를 발견하면 우선 지역변수와 매개변수에서 찾고 여기서 못 찾으면 전역변수에서 찾는데 전역변수에서도 발견하지 못했기 때문에 에러를 발생시키게 된다.

 

이렇게 매개변수를 선언하지 않고도 값에 접근할 수 있도록 해주는 게 arguments이다.

arguments객체를 사용해서 위에 예제를 에러가 안 나도록 작성해보자

 

function User() {
    if(arguments[1] < 20) {
        console.log(`${arguments[0]}님은 미성년자 입니다.`);
    } else {
        console.log(`${arguments[0]}님은 성인 입니다.`);
    }
}

User('Han', 17);

위와 같이 매개변수 자리에 arguments를 배열같이 사용하면 된다.

728x90
반응형

'javaScript > J Query & 스크립트' 카테고리의 다른 글

break return 차이점  (0) 2022.04.16
[javaScript] 리턴값 이란? return문 사용하기  (0) 2022.04.15
JavaScript 클래스 이해하기  (0) 2022.04.12
중복코드 함수로 리팩토링  (0) 2022.04.08
다중 for문  (0) 2022.04.07

댓글