void 타입
아무런 값도 없음을 의미하는 타입이다.
보통은 아무런 값도 반환하지 않는 함수의 반환값 타입을 정의할 때 사용한다.
// 아무런 값도 반환하지 않는 void 타입
function func1(): void {
console.log("hello");
}
// func2의 함수의 반환값은 string 타입
function func2(): string {
return "hello";
}
void 타입에는 오직 undefined만 할당할 수 있다.

never 타입
불가능을 의미하는 타입이다.
보통 함수가 어떠한 값도 반환할 수 없는 상황일 때 해당 함수의 반환값 타입을 정의하는 데 사용된다.
never 타입을 사용하는 경우
1. 무한 루프
function func3(): never {
while (true) {}
}
무한루프를 돌기 때문에 함수가 종료되지 않는다. 따라서 값을 반환하는 것 자체가 불가능하다.
2. 의도적인 오류 발생
function func3(): never {
throw new Error();
}
오류를 발생시키면 함수가 중단되므로, 정상적으로 값을 반환할 수 없다.
never 타입의 특징
never 타입은 그 어떤 값도 담을 수 없다.
let neverVar: never;
neverVar = null; // ❌ 오류
neverVar = undefined; // ❌ 오류
neverVar = 10; // ❌ 오류
심지어 strictNullChecks 옵션이 false여도 null이나 undefined값을 담을 수 없다.

never는 문자 그대로 불가능을 나타내는 타입이기 때문이다.
'TIL' 카테고리의 다른 글
| [TS] 타입 추론 (0) | 2025.10.31 |
|---|---|
| [TS] 대수 타입 (0) | 2025.10.31 |
| [TS] any와 unknown (0) | 2025.10.28 |
| [TS] 타입 정의 연습 (0) | 2025.10.28 |
| [TS] 열거형 타입 (0) | 2025.10.28 |
