Typescript : 기초부터 실전형 프로젝트까지 with React + NodeJS / 1. 타입스크립트 기본타입

hatban·2023년 3월 18일
0
post-thumbnail

Typescript 란?

  • 자바스크립트 슈퍼셋 => 결국 자바스크립트 기반!

Core Types

  1. number(정수형과 실수형 등 구분은 X)
  2. String
    • 작은따옴표, 큰 따옴표, 벡틱
  3. Boolean
    • true or false
  4. Object
  5. Array
  6. Tuple : 길이가 2로 고정된 배열
  7. Enum
  8. Any : 모든타입가능, 가능한 사용 x

리터럴 타입

  • 정확한 값을 가짐
  • string과 number 두 가지

1. 문자열 리터럴 타입

type Color = "red" | "orange" | "color";
const color1 : Color = "red";
const color2 : Color = "green"; //error!

2. 숫자형 리터럴 타입

type Grade = 1 | 2 | 3;
const stu1 : Grade = 1;
const stu2 : Grade = 4; //error!

Unknown vs Any

Any

  • 어떤 타입이든지 허용하는 타입
  • 타입을 엄격하게 검사하고 처리하는 타입스크립트에서 any는 치명적

Unknown

  • any와 마찬가지로 모든 값을 허용하지만, 할당된 값이 어떤 타입인지 모르기 때문에 함부로 프로퍼티나 연산을 할 수 없다.
  • any처럼 어떤 타입의 value든 할당할 수 있지만 실제 사용할 때는 개발자로 하여금 타입을 체킹하도록 만들 수 있는 타입이 필요해 만들게 됐다

Never vs Void

void

  • 보통 함수에서 반환 값이 없을 때 반환 타입을 표현하기 위해 사용
  • 생략하는 경우가 많다
  • undefined 리턴, undefined도 값이다
function returnNothing() : void{
    return;
}

never

  • 모든 타입에 할당 가능한 하위 타입이나, never타입에는 본인 외에 다른 타입이 할당될 수 없다
  • 가장 흔하게 에러 발생시 사용된다
  • 정말 아무것도 리턴X
function generateError(msg : string , code :number) : never{
    throw {msg : msg, errorCode : code};
}

0개의 댓글