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 |
댓글