아무런 값도 없음을 의미하는 타입
보통은 다음과 같이 아무런 값도 반환하지 않는 함수의 반환값 타입을 정의할 때 사용
function func2(): void {
console.log("hello");
}
물론 다음과 같이 변수의 타입으로도 당연히 void 타입을 지정할 수 있음.
let a: void;
a = undefined;
하지만 tsconfig.json에 엄격한 null 검사(strictNullChecks) 옵션을 해제로 설정하면 특별히 이때는 void 타입의 변수에 null 값도 담을 수 있게 됨
// "strictNullChecks: false" 일 경우
let a: void;
a = undefined;
a = null;
불가능을 의미하는 타입
보통 다음과 같이 함수가 어떠한 값도 반환할 수 없는 상황일 때 해당 함수의 반환값 타입을 정의할 때 사용
function func3(): never {
while (true) {}
}
→ 무한 루프를 돌기 때문에 아무런 값도 반환할 수 없음