함수에는 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
'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 |