TypeScript(1)_unknown, void, never

김다운·2022년 6월 15일
0

unknown

응답의 타입을 모를때는 'unknown' 라는 타입을 사용

let a:unknown;

let b = a+1 //error

a타입이 unknown이기 때문에 에러가 난다.

let a:unknown;

if(typeof a === 'number'){
  let b = a+1 
} 

먼저 typeof a 가 number인지 확인을 하는 코드를 작성하면 Typescript가 문제없이 작업을 허용해준다

void

void는 아무것도 return하지 않는 함수를 대상으로 사용

function hello():void{
  console.log('x')
}

원한다면 써도 되지만 보통은 쓰지 않고 typescript가 아무것도 return하지 않는다는 것을 자동으로 인식한다.

never

never는 함수가 절대 return하지 않을 때 발생

function hello():never{
  throw new Error("xxx")
}

return 하지 않고 오류를 발생시키는 함수

function hello(name:string|number){
  if(typeof name === "string"){
  	name  //string
  }  else if (typeof name === "number"){
  	name  //number
  } else {
  	name  //never
  }
}

만약 타입이 올바르게 들어왔다면 string name 과 number name 둘 중에 하나는 작동할 것이고 마지막 name은 절대 실행되면 안된다

0개의 댓글