아무튼 개발
article thumbnail
반응형
화살표 함수를 제외한 모든 함수에서 arguments 객체를 사용할 수 있다.

 

arguments

arguments 객체를 통해 함수 호출 시 전달한 인자들을 참조할 수 있다.

유사 배열 객체이기 때문에 인덱스 프로퍼티와 length 프로퍼티 등을 가지고 있다.

 

사용 방법

arguments로 입력해주면 바로 사용할 수 있다.

배열처럼 index 프로퍼티로 값에 접근할 수 있으며

인자로 받은 값의 갯수를 length 프로퍼티로 받을 수 있다.

function sum(x, y, z) {
	console.log(arguments[0], arguments[1], arguments[2]); // 1, 5, undefined
    console.log(arguments.length); // 2
    
    arguments[1] = 3;
    
    return x + y + z;
}

sum(1, 5); // 4

또한 재할당도 가능하다.

매개변수보다 인자의 갯수가 더 적을 경우, 남은 매개변수에는 undefined로 반환된다.

 


나머지 매개변수

나머지 매개변수는 ES2015에 등장하였다.

arguments 객체와 달리 진짜 배열이기 때문에 인자들을 배열로 다룰 때 많이 활용된다.

배열이기 때문에 forEach, map, filter와 같은 배열 내장 메서드를 사용할 수 있다.

function sum(...args) {
	
    args.forEach(function(arg){
    	//...
    })
}

sum(1, 5);

 

  • 일반 매개변수 + 나머지 매개변수

나머지 매개변수는 일반 매개변수와도 함께 사용 가능하다.

대신 일반 매개변수로 설정한 값 이후의 값들만 나머지 매개변수 배열로 들어간다.

function sum(name, ...args) {
	console.log(name); // "money"
	
    args.forEach(function(arg){
    	//...
    })
}

sum("money", 1, 5);

 


 

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Functions/arguments

 

arguments 객체 - JavaScript | MDN

arguments 객체는 함수에 전달된 인수에 해당하는 Array 형태의 객체입니다.

developer.mozilla.org

 

반응형
profile

아무튼 개발

@릴쥬

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

profile on loading

Loading...