귀여운 눈높이에서 작성된, 🐰

하루 한 걸음씩, 성장 하는 중 입니다 🫶🏻

Studying/TypeScript

TypeScript - void, never 타입

creamymood 2025. 6. 8. 15:49

1. void 타입

 

void 타입은 일반적으로 값을 반환하지 않는 함수에서 사용 한다.

 

(참고로 값을 반환하지 않는 함수를 보이드 함수(Void Function)라고 한다.)

 

보통 타입스크립트에서 이렇게, 반환하지 않는 함수를 정의할 때 사용한다.

function func2(): void {
  console.log("hello");
}

 

값을 반환하지 않는 함수는 실제로 undefined를 반환하기 때문에

void 타입 변수에는 undefined 이외에 다른 타입 값은 담을 수 없다.

function hello(msg: string): void {
  console.log(`Hello ${msg}`)
}
const hi: void = hello('world') // Hello world
console.log(hi) // undefined

2. never 타입

 

never 타입은 절대 발생할 수 없는 값이다.

불가능을 의미하는 타입이다. 값이 절대 발생할 수 없다.

 

예를 들어, 해당 코드의 경우, 무한 루프를 돌기 때문에 아무런 값도 반환할 수 없다.

 

영원히 무한루프기때문에, 값을 반환한다는 것 자체가 "불가능" 하다.

절대 정상적으로 종료가 어렵기 때문에.. never로 추론 된다.

 

function func3(): never {
  while (true) {}
}

 

 

또 다른 예시로, 모순된 잘못된 타입 제한의 결과로 never가 추론될 수 있다.

function doSomething(value: string & number) {
  // string과 number는 교집합이 없기 때문에 value는 never
}

string & number는 존재할 수 없는 타입이므로 value는 never가 된다.

 

아무튼 이렇듯, 절대 불가능할 값의 타입을, never라고 한다.


출처 : 한 입 크기로 잘라먹는 타입스크립트, 한눈에 보는 타입 스크립트