포시코딩

[TypeScript][노마드코더] #2 OVERVIEW OF TYPESCRIPT 정리(2) 본문

JavaScript

[TypeScript][노마드코더] #2 OVERVIEW OF TYPESCRIPT 정리(2)

포시 2023. 1. 17. 14:13
728x90

TypeScript에만 존재하는 타입

unknown

let a: unknown;

let b = a + 1;  // Error!

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

let b = a.toUpperCase(); // Error!

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

 

void

아무것도 return하지 않는 함수 타입

// function hello(): void {  // 이렇게 써도 되지만 생략 가능
function hello() {
  console.log();  // return 하지 않는다.
}

 

never

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

function hello(): never {  // Error!
  return 'x';
}

function hello(): never {  // 사용 가능
  throw new Error('x');  // return하지 않고 오류를 발생시키는 함수
}

function hello(name: string|number) {
  if (typeof name === 'string') {  // name: string
  
  } else if (typeof name === 'number') {  // name: number
  
  } else {  // name: never. 타입이 올바르게 들어온다면 절대 실행되지 않음
  
  }
}

 

정리

void > unknown > never 순으로 많이 사용된다.

728x90