void와 never - 타입스크립트 기본

void 타입

// void
// void -> 공허 -> 아무것도 없다.
// void -> 아무것도 없음을 의미하는 타입

function func1(): string {
    return "hello";
}

// return 이 없을때 return 타입을 void라 씀
function func2(): void {
    console.log("hello");
}

function func4(): undefined{
    return;
}

function func5(): null{
    return null;
}

// 해당 변수에는 오직 undfined만 담을 수 있다.
// 하지만 stringNullChecks : false 로 옵션 설정하면 null은 넣을 수 있다.
let a: void;

never 타입

// never
// never -> 존재하지 않는
// 불가능한 타입

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

function func7(): never{
    throw new Error();
}

let b:never; // 이 변수는 그 어떠한 것도 담을 수 없다 옵션을 꺼도 안됨