본문 바로가기

Web/CS공부

[JavaScript] 함수에서 쓰는 점 3개, Rest Parameter

ES6부터 arguments보다 더 쉬운 문법인 Rest Parameter를 제공합니다.

 

 

arguments를 사용한 함수에서 새로운 파라미터를 추가할 때 함수를 수정해야 하는 불편함이 있습니다.

하지만 Rest Parameter를 사용하면 새로운 파라미터를 추가할 때 쉽게 새로운 파라미터를 추가하거나 제거할 수 있습니다. 

arguments는 모든 파라미터를 [ ] 에 담아서 보여주지만 실제 배열은 아닙니다.

유사배열입니다. 실제 배열로 사용하기 위해서는 변환작업이 필요합니다.

 

 

Rest Parameter는 함수를 만들 때 '...' 이라는 점 세개를 사용한 스프레드(Spread)연산자를 사용할 수 있습니다.

특정 부분 이상 입력된 파라미터들을 묶어서 [ ]에 담아 보여주며 실제 배열로 나타내줍니다. 따로 배열로 전환하는 작업이 필요없습니다.

 

 

// arguments 사용하여 입력된 값을 하나씩 출력
function fc1(a, b, c, d, e){
	for (var i=0; i<arguments.length; i++){
    	console.log(arguments[i]);
    }
}
fc1(2, 3, 4, 5, 6);

-> 출력값
2
3
4
5
6



-----------------------------------


// Rest Parameter 사용하여 배열로 나타냄

function fc2(a, b, ...params){ // a, b값은 일반 arguments로, 이후 작성된 값은 Rest Parameter로
	console.log(params) // params에 저장된 값만 보여준다.
}
fc2(1,2,3,4,5,6,7,8);

-> 출력값
[3,4,5,6,7,8]
728x90