본문 바로가기

Javascript/TypeScript

[타입스크립트] rest parameter의 타입을 지정하기

rest parameter란 무엇일까 :

fucntion 함수() {
}

함수(1,5,3,5,6,6)

이렇게 함수가 있는데, 함수의 파라미터에 몇개의 인자가 들어올지 모르는 상황이다. 

이럴 때 사용하는 것이 rest parameter이다. 문법은 spread operator를 사용한다. 

 

fucntion 함수(...a) {
}

함수(1,5,3,5,6,6)

만약 다른 파라미터도 함께 사용하고 싶다면, 

다른 파라미터의 맨 뒤에서 사용해야 한다. 

fucntion 함수(x,y, ...a) {    //이렇게!
}

함수(1,5,3,5,6,6)

 

그리고 이렇게 rest parameter를 통해서 들어온 값들을 콘솔에 출력해보면 전부다 배열에 담겨서 나오는 것을 알 수 있다. 

function 함수(...a){
console.log(a)
}

함수(1,5,3,24,1)
//[1,5,3,24,1]

 

 rest parameter의 타입은 어떻게 지정해줄 수 있는가? :

자, 지금까지 rest parameter에 대해서 알아봤다. 그렇다면 이 rest parameter의 타입은 어떻게 지정해줄 수 있는가? 

방금전에 알아보았듯이, 우리는 이 rest parameter가 배열로 출력된다는 것을 알고 있다. 

그렇기 때문에, 배열의 타입을 지정해주는 것과 똑같이 rest parameter의 타입도 지정해주면 된다. 

fucntion 함수(...a : number[]){
}