본문 바로가기

TypeScript/기초

[TypeScript] 함수에 타입 지정하기

함수에는 2곳에 타입을 지정할 수 있다. 

함수에는 총 두 군데 타입 지정이 가능하다. 

1. 함수에 들어오는 자료 ( 파라미터 )

2. 함수에서 나가는 자료 ( return )

 

function 함수( props :number) :number {
	return props * 2
}

파라미터로 받는 타입은 파라미터 옆에 적어주면 된다. 

그리고 함수에서 return 되는 자료의 타입을 정해주고 싶으면, 함수명() 옆에 적어주면 된다. 

 

설정을 해주면 파라미터와 리턴 값이 이상하면 에러를 나타낸다. 

- 파라미터에 타입을 지정하면 필수 파라미터가 된다. 

 

void 타입

함수에만 void라는 타입을 사용할 수 있다. 

' 아무것도 리턴하지 않는다 ' 를 뜻하는 타입으로 리턴할 자료가 없는 함수의 타입으로 사용한다. 

function 함수(x : number) :void {
	console.log(x * 2);
//  return x   에러가 난다.
}

void 타입을 가지고 있는 함수의 경우 return을 하려고 하면 에러가 난다. 

즉, 함수에 return 을 방지하고 싶은 경우에 void 타입을 사용한다.

 

옵션인 파라미터 

함수에 파라미터를 만들었지만, 필요에 따라선 파라미터가 없어도 사용되는 경우가 있다. 

이 경우엔 타입스크립트에선 " 이 파라미터는 옵션이다 " 정의를 해줘야 에러가 나지 않는다. 

 

function 함수(x? :number) {
	// ...
}

함수();
함수(30);
// 둘다 가능

파라미터 우측에 ?를 넣어주면 파라미터 없이도 쓸 수 있다는 뜻이 된다. 

? 는 이전에 배운 Union과 같은 의미로 x: number | undefined와 같은 의미이다. 

 

파라미터가 정의가 안된다면 자동으로 undefined가 할당된다. 

 

함수에 Union 타입 사용하기

당연하게 함수에도 Union 타입을 사용할 수 있다. 

function anyFunc2(x?: number): number | string {
  return x ? x : "undefined";
}

 

깃허브

https://github.com/SeoJaeWan/TypeScript/tree/master/Function%20Types

 

GitHub - SeoJaeWan/TypeScript

Contribute to SeoJaeWan/TypeScript development by creating an account on GitHub.

github.com

 

반응형

'TypeScript > 기초' 카테고리의 다른 글

[TypeScript] type 키워드 & readonly  (1) 2022.05.10
[TypeScript] 타입 확정하기  (1) 2022.05.09
[TypeScript] 추가 타입  (5) 2022.04.21
[TypeScript] 기본 타입 정리  (0) 2022.04.16
[TypeScript] 컴파일 시 세부 설정  (0) 2022.04.15