[강의정리] Call Signature & Overloading

김재만·2022년 7월 27일
0

Call Signature

타입 스크립트에서 함수의 타입을 지정할 때 사용하는 문법으로 함수의 인자값과 반환 값의 타입을 표기한다.

//Call Signature
type sig = (a:type1, b:type2) => type3

//function
const func:sig = (a, b) => RETURN_VALUE
//Call Signature -2
type sig = {
	(a:type1, b:type2) : type3
}

함수에 호출 시그니처를 지정하면, 따로 인자값과 호출값의 타입을 관리할 필요가 없다.

Overloading

동일한 이름을 가진 함수의 동작 방식을 여러 상황에 맞춰 작성하는 방식이다. 타입스크립트에서는 함수가 서로 다른 다수의 호출 시그니처를 부여 받아, 반환값의 추론이 필요한 경우 오버로딩 처리가 필요하다.

//반환 타입이 여러가지 인 경우
const sig = {
	(a:num, b:num):num
    (a:num, b:string):string
}

const func:sig = (a, b) =>{
	if(typeof b === "num"){}
    else if(typeof b === "string"){}
}

인자의 갯수나 타입이 바뀌는 경우 함수 선언 시 해당 타입을 옵셔널 체이닝 혹은 |처리 해줄 필요가 있다.


앗..!

마무리

오늘은 짧구만

profile
듣는 것을 좋아하는 개발자입니다

0개의 댓글