반응형

자바스크립트에서 모든 함수 매개변수는 선택사항입니다. 타입스크립트에서는 선택사항이 아닙니다. 기본적으로 모든 매개변수가 필수가 됩니다. 하지만 모든 매개변수를 필수 값으로 하고 싶지 않을 때는 선택적 매개변수로 명시적으로 표시할 수 있습니다. 또는 매개변수에 기본값을 할당하게 할 수도 있습니다. 나머지 매개변수를 사용하면 매개변수 개수 이상의 호출도 가능합니다. optional, default, rest parameter 대해 하나씩 알아보도록 하겠습니다.

 


optional parameter(선택적 매개변수)

아래 예에서 두 개의 매개변수를 사용하는 함수를 정의하고 있습니다.

매개변수 뒤에 물음표 ?를 추가해서 매개변수를 선택사항으로 만들 수 있습니다. create함수에서 name은 필수 매개변수 age는 선택적 매개변수입니다. 따라서 create를 호출할 때 두 번째 매개변수 없이 호출이 가능합니다.


default parameter(기본값 매개변수)

디폴트 파라미터를 사용하고 있는 함수를 아래와 같이 정의할 수 있습니다.

디폴트 매개변수를 가지는 함수를 호출할 때 매개변수를 넣어주지 않으면 함수에 undefined가 전달됩니다. 호출자가 undefined를 전달할 때 디폴트 매개변수에 설정된 값이 사용됩니다. getMyFrute함수에서는 frute 매개변수에 기본값을 할당하고 있습니다. 변수에 값을 할당하는 것처럼 등호 = 로 설정합니다.

할당에서 frute: string = getApple() 과 같이 표현식을 사용할 수도 있습니다.  getApple의 반환 값이 frute 매개변수의 기본값으로 설정됩니다.


rest parameter(나머지 매개변수)

나머지 매개변수는 함수 정의에 추가 매개변수를 전달하는 메커니즘을 제공합니다.

getFood 함수는 두 개의 매개변수를 사용합니다. 음식을 주문할 때 메인 음식을 주문하고 다양한 사이드 음식을 side로 전달할 수 있도록 나머지 매개변수로 정의했습니다. 나머지 매개변수는 매개변수 이름 앞에 … 을 붙여 표시합니다. 그리고 항상 해당 유형의 배열에 캡처됩니다. getFood의 매개변수는 두 개지만 나머지 매개변수가 있으므로 그 이상으로 호출할 수도 있습니다.

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기