TypeScript type - 고급 종류

hyeyeong lee·2023년 7월 27일

enum, object literal의 차이점


enum

간단한 상수 값
compile 시 자동으로 값이 mapping

*각 member는 상수이기 때문에 number, string type만 대입 가능

object literal

복잡한 구조와 다양한 data type
key + 값의 쌍(pair)으로 구성된 객체를 정의하는 방식

비교적 object literal이 가지는 장점

  • object literal은 어떤 type도 가능 (유연한 구조)
  • run time error 방지



utility type(Partial, Required 등)

- 복잡한 type을 쉽게 조작 가능

Partial<T>

일부 속성만 제공하는 객체 생성


Required<T>

반드시 속성 전부가 제공되는 객체 생성
?가 붙는 선택적 속성에 대해 선언


Readonly<T>

모든 속성을 읽기 전용(read-only)으로 생성
완전한 불변 객체로 취급 가능


Pick<T, K>

type T에서 K 속성들만 선택하여 새로운 type 생성


Omit<T, K>

type T에서 K 속성들만 제외한 새로운 type 생성

0개의 댓글