함수의 리턴 타입으로 사용한다.

function func1(): string {
  return "hello";
}
// 함수에서 리턴하는 값의 종류는 비어있어요.
function func2(): void {
  console.log("안녕");
}
// 값이 없다는 표현은 어떤게 있나요?
// 함수 반환 return 이 없으면 기본이 void 입니다.
function func3(): void {}

// 아래 함수는 return undefined 작성
// 명시적으로 undefined 를 리턴해야 한다면 작성해줘야 함.
function func4(): undefined {
  return undefined;
}

// 명시적으로 return 후 값이 없는 함수라면
// void 를 리턴합니다.
function func5(): void {
  return;
}

// 명시적으로 null 을 리턴하고 싶다면
// null 을 리턴해야 한다.
function func6(): null {}
function func7(): null {
  return null;
}

비동기 함수를 보자.

async function fetchGettodo(): Promise<void> {
  const res = await fetch("주소");
}
async function fetchGettodoOne(): Promise<string> {
  const res = await fetch("주소");
  return "hello";
}

async function fetchPostTodo(): Promise<boolean> {
  const res = await fetch("주소");
  return true;
}
type Todo = {
  id: number;
  title: string;
};
async function fetchSortTodo(): Promise<Todo> {
  const res = await fetch("주소");
  return { id: 1, title: "안녕" };
}