[TS] void와 never

TIL

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
'TIL' 카테고리의 다른 글
  • [TS] 타입 추론
  • [TS] 대수 타입
  • [TS] any와 unknown
  • [TS] 타입 정의 연습
고견
고견
개발 자국 남기기
  • 고견
    개발자국
    고견
  • 전체
    오늘
    어제
    • 분류 전체보기 (157) N
      • Frontend (29)
        • Next.js (16)
        • JavaScript (7)
      • CS (19) N
        • 자료구조 (9)
        • 알고리즘 (5)
        • 운영체제 (4) N
        • 네트워크 (1) N
      • TIL (93)
      • Dev Log (16)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    페이지 라우터
    generic
    emotion diary
    javascript
    Pages Router
    Trouble Shooting
    cs50
    C
    memory
    CS
    바닐라 자바스크립트
    자료구조
    배열
    타입 좁히기
    typescript
    앱 라우터
    클래스
    Spa
    제네릭
    Next.js
    문자열
    algorithm
    함수 타입
    react
    알고리즘
    ai 감성 일기장
    App Router
    useState
    트러블 슈팅
    인터페이스
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
고견
[TS] void와 never
상단으로

티스토리툴바