타입스크립트 함수에 타입지정 & void 타입

버건디·2023년 1월 2일
0

타입스크립트

목록 보기
4/12
post-thumbnail

타입스크립트에선 함수에도 마찬가지로 타입을 지정해줄 수 있다.

const 함수 = (x: number): number => {
  return x * 2;
};

// 함수 리턴값에 타입 지정이 없는 경우
const 함수 = (x: number) => {
  return x + '하이';
};

파라미터에 타입 뿐만 아니라 함수 자체의 리턴값에도 타입을 지정해줄 수 있다.

- void 타입

함수 내에서 리턴값이 없는 함수 일때, void로 지정을 해준다.

하지만 타입스크립트 내에서 리턴값이 없는 함수라면 자동으로 void 타입으로 지정을 해주기 때문에 따로 지정을 해주지 않아도 된다.

const 함수 = (x: number) :void => {
  x * 2;
};


// void가 없더라도 오류가 발생하지 않는다. 
const 함수 = (x: number) => {
  x * 2;
};

만약 위에처럼 파라미터의 타입을 지정해주고 함수를 정의했는데, 함수를 실행시킬때 파라미터가 없다면
에러가 발생한다.

const 함수 = (x: number) => {
  x * 2;
};

함수();

에러가 발생한다.

만약에 파라미터가 있을수도, 없을수도 있다면 파라미터 뒤에 ? 를 붙여주면 파라미터가 있어도, 없어도 된다.

const 함수 = (x?: number) => {
  x * 2;
};

함수();

에러가 사라진걸 확인할 수 있다.

?를 붙여준다는것은 union type으로 undefined 타입이 추가되는것과 마찬가지이다.

const 함수 = (x?: number) => {
  x * 2;
};

// ⬇️  와 같음

const 함수 = (x: number | undefined) => {
  x * 2;
};
profile
https://brgndy.me/ 로 옮기는 중입니다 :)

0개의 댓글