ex)
let a : unknown;
let b = a + 1; // error
if(typeof a === 'number'){
let b = a + 1; // 정상적으로 작동
}
if(typeof a === 'string'){
let b = a.toUpperCase(); // 정상적으로 작동
}
아무것도 return
하지 않는 함수에 사용
function printHello() : void {
console.log('hello');
}
함수가 절대 return
하지 않을 때 발생한다.
function changeNameType(name : string | number) {
if(typeof name === 'string'){
name // string
}
else if(typeof name === 'number'){
name // number
}
else{
name // never => 이 코드는 절대 실행되지 않아야한다.(never)
}
}