[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)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바