본문 바로가기
핸드메이드 프로그램/실시간 코인가격 알림 ( React native )

TypeScript 함수 작성

by thebirghtwide 2021. 8. 9.

TypeScript 함수 작성법

function split(input: string): string[] {
  return input.split('');
}

TypeScript 에서는 다음과 같이 함수를 작성할 수 있다. 우선 들어오는 입력 

input : string을 보면 매개변수 str과 그 형태가 어떤 것인지 알 수 있다. 

그리고 뒤에 :string [] 뜻은 출력으로 어떤 형태가 나오는 건지 미리 선언 할 수 있게 된다. 

 

let fc : Function = function() { };
let fc : (string) => string[] = split;

물론 미리 어떤 식의 함수를 만들 것인지도 이렇게 선언할 수 있다. 보면 Function인터페이스가 내장되어 있기 때문에 위 처럼 fc : Function으로 작성하면 함수만 할당 할 수 있다. 그러나 여기서 한 단계 나아가서 fc : (string) 이런 식으로 사용하면 

fc = function(input : string) : string[] {
	return input.split()
}

위 처럼 인풋값과 출력값을 맞추지 않으면 에러가 발생 되는 것을 알 수 있다. 

 

TypeScript 오버로드

자바에서도 종종 사용 했지만 오버로드란 이름은 같지만 매개변수 타입과 반환 타입이 다른 여러 함수를 가질 수 있는 것을 말한다.

function minus(a: string, b: string): string; // 함수 선언
function minus(a: number, b: number): number; // 함수 선언
function minus(a: any, b: any): any { // 함수 구현
  return a + b;
}

minus('hello ', 'world~');
minus(1, 2);
minus('hello ', 2); // Error - No overload matches this call.

위 예제코드를 보면 각각의 타입을 받고 싶은 부분을 먼저 선언을 진행하고 함수 구현부분에서는 any를 사용하여 함수를 완성 시킨것을 볼 수 있다. 오버로드는 매개변수의 type만  다르고 동작은 동일할 때 코드를 줄이고자 할 때 사용한다. 

 

 

댓글