호출 시그니쳐와 구현의 관계

YOUNGJOO-YOON·2021년 6월 21일
0

typeScript

목록 보기
4/65

TOC

  1. 호출 시그니쳐

  2. 구현


1. 호출 시그니쳐

호출 시그니쳐는 타입 별칭의 함수버전이라고 보면 된다.

타입 별칭은 이런 것이다.

type Age=number;
type Person={
  name:string,
  age:Age
};

타입을 따로 분리해 Person.age는 number만이 선언될 수 있도록 하였다 위 코드는 아래와 같다.

type Person={
	name:string,
  	age:number
}

당장 보기에는 아래 코드가 깔끔해 보이지만
만들고 있는 프로그램의 크기가 커질수록 위의 코드가 좋아질 것 같다.

구현

그러면 호출 시그니쳐를 알아보자.
이는 함수버전의 타입 별칭이다.

const sum=(a:number,b:number):number=>{
	return a+b
}

위와 같은 함수를 호출 시그니쳐로 표현해보면

type sum=(a:number,b:number)=>number

이렇게 표현할 수 있게 된다.

그렇다면


type hap=(a:number,b:number)=>number;
const duhagi:hap=(a,b)=>{
	return a+b;
}

이런식으로 작성할 수 있다.

함수의 타입을 미리 지정해준 것이다.
만일 return이 void타입인 경우

type Log=(msg:string,userId?:string)]=>void

let log:Log=(
msg,userId='Not signed in' // 초기화 가능
)=>{
console.log(msg)
}

이런식으로 return을 주지 않으면 된다.

profile
이 블로그의 글은 제 생각을 정리한 글과 인터넷 어딘가에서 배운 것을 정리한 글입니다. 출처는 되도록 남기도록 하겠습니다. 수정 및 건의 오류 등이 있으면 언제든지 댓글 부탁드립니다.

0개의 댓글