TypeScript

[TypeSciprt] 타입스크립트 void와 never

깅민 2025. 5. 23. 17:08

1. void

void는 값이 없음을 의미하고

보통 반환값 타입에 사용합니다.

 

function fn(): void {
  console.log("a");
}

// 컴파일
function fn() {
    console.log("a");
}
export {};

 

변수에도 사용할 수 있지만

undefined 값만 사용할 수 있습니다.

let a: void;
a = undefined;

 

2. never

never는 불가능을 의미합니다.

어떠한 값도 반환할 수 없을 때 사용합니다.

// 무한루프
function fn1(): never {
  while (true) {}
}

// 에러
function fn2(): never {
  throw new Error();
}

// 변수
// any를 포함해 어떤 타입도 사용할 수 없습니다.
let av: any;

let nv: never;

nv = 1; // 에러
nv = null; // 에러
nv = av; // 에러