본문 바로가기
Typescript

230601 Typescript의 함수타입 / 표현식, 호출 시그니처 / 호환성 / 사용자 정의타입

by hyerin1201 2023. 6. 1.
  • 타입스트립트의 함수 : 매개변수의 타입정의가 필수(정의하지 않으면 타입은 any 가 됨, 반환값의 정의도 필요
    (*함수의 핵심 : 매개변수, 반환값)

기본 함수 정의
화살표 함수 타입 정의
매개변수에 기본값 정의


선택적 매개변수 사용법

선택적 매개변수는 반드시 필수 매개변수보다 뒤에 선언해줘야한다

보다 정확하게 해주기위해 타입좁히기 사용함.

 

  • 나머지 매개변수

나머지 매개변수도 튜플타입으로 정의할 수 있다


함수타입의 표현식

  • 타입별칭

 

  • 호출시그니처 = 하이브리드 타입(*함수타입 정의 + 일반객체 요소 추가)
    : 객체 타입으로 프로퍼티 추가 가능.


함수타입의 호환성

특정함수 타입을 다른 함수 타입에 적용할 떄, 문제가 없는지 판단하는 것을 의미.

이때, 적용가능 여부 판단의 기준은 크게 두가지 => 1) 반환값 타입 호환이 가능한지 2) 매개변수 타입 호환 가능한지

 

 

함수타입에서 매개변수의 갯수가 같은 경우, 기본 타입 계층구조와는 달리, 서브 타입에 슈퍼타입이 적용가능하다.

(한마디로 다운캐스팅가능 / 업캐스팅 불가)

 

 

 

 

 

매개변수의 갯수가 다를때

 


함수의 오버로딩

동일한 함수를 매개변수의 갯수 및 타입에 따라 여러가지 버전으로 만드는 타입스트립트 만의 독특한 문법

ex) 매개변수가 1개일때에는 모든 매개변수에 20을 곱한 값을 반환, 매개변수가 3개일때에는 모든 매개변수를 더한 값을 반환하는것이 가능.

 

함수 오버로딩을 사용하려면 반드시 오버로드용 시그니처 정의가 우선되어야 한다.


사용자 정의타입 함수