[TS] ()=> void

Yeong·2025년 3월 5일

void의 기본 선언 방식

void는 TypeScript에서 흔하게 사용하거나 추론되는 타입이다. 주로, 함수에서 return이 없을 경우 return 타입으로 void를 사용한다.

void는 값을 반환하지 않는 함수의 반환 값을 의미합니다. 함수에 return문이 없거나, 명시적으로 값을 반환하지 않을 때, 추론되는 타입입니다. (공식문서)

function func(): void {
  console.log('a');
}

function errorfunc(): void {
  return 'a'; // 👾error! : 'string' 형식은 'void' 형식에 할당할 수 없습니다.
}

function func(): void {
  return; // 성공
}
function func2(): void {
  return undefined; // 성공
}
  • func 함수를 실행하면 값이 반환되는 것이 아니라 console을 찍고 함수는 종료된다. 하지만, errorFunc 함수를 실행하면 리턴 타입으로 void를 명시해 주었기 때문에 return 문에서는 에러가 발생한다.
  • undefined를 return 하면 아무 에러가 발생하지 않는다. JavaScript에서는 아무것도 반환하지 않는 함수는 암묵적으로 undefined 값을 반환하기 때문이다. 하지만, void는 undefined 타입은 다르다. 단지 void 반환 값으로 undefined가 허용될 뿐이다.
  • onClose: () => void;
    인자가 없고, 반환값도 없는 동기 함수
  • onClose: (reason: string) => void;
    reason이라는 string 인자를 받는 함수
  • onClose?: () => void;
    onClose가 선택적(없어도 되는) 함수
  • onClose: () => Promise<void>;
    비동기 함수 (async 사용 가능)

0개의 댓글