Types of TS part Three

최재홍·2023년 10월 8일
0
post-custom-banner

Unknown

let a : unknown;

API로 부터의 응답을 받는 상황에서 특정 변수가 어떤 타입일지 알 수 없을 때 unknown으로 지정할 수 있다.

let a : unknown;

let b = a + 1

그래서 위와 같은 코드는 a가 unknown상태이기 때문에 타입스크립트에서 막게 된다.

let a : unknown;

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

if(typeof a === "string") {
  let b = a.toUpperCase();
}

이 경우엔 아무런 문제 없이 작동하게 된다.

Void

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

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

이런 경우를 말한다.

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

const a = hello();
a.toUpperCase()

이러한 작업은 허용되지 않는다. void 타입엔 toUpperCase가 없기 때문에.

never

never은 함수가 절대 return하지 않을 때 발생한다.

function hello() : never {
  return "x"
}

따라서 위와 같은 함수는 실행되지 않는다.

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

이 경우엔 새로운 오류를 발생시키고 아무런 문제없이 동작한다.

post-custom-banner

0개의 댓글