[TS] Syntax | 05. 타입 별칭(Type Alias)

2024. 6. 28. 16:35·Language/TypeScript

아래 코드는 cart 변수에 string[ ] 타입을 부여했습니다.

const cart: string[] = [
  'c001',
  'c001',
  'c002',
];

interface User {
  username: string;
  email: string;
  cart: string[];
}

const user: User = {
  username: 'rayi',
  email: 'jusmint3@gmail.com',
  cart,
}

이 때 cart 변수의 타입을 바꾸려면 cart가 선언된 모든 구문을 찾아 string[ ]을 수정해주어야 합니다.

만약 더 복잡한 형태의 타입으로 정의되어 있다면, 이런 방식으로는 유지보수가 어려울 수 있습니다.

 

복잡한 타입에 이름을 붙여 간단하게 표기하기위해, type 구문을 사용할 수 있습니다.

// 변수
type Cart = string[];

// 함수
type CartResultCallbak = (result:boolean) => void;

// 객체
type Product = {
    id: string;
    name: string;
}

// Union
type Coupon = 
  | PromotionCoupon
  | EmployeeCoupon
  | WelcomCoupon
  | RewardCoupon
  ;

위 예시에서 객체의 경우 interface와 유사하다는 것을 알 수 있는데, 실제로 interface와 동일한 동작을 수행합니다.

그러나 되도록이면 interface를 사용하는 것을 권장하는 편입니다.

728x90

'Language > TypeScript' 카테고리의 다른 글

[TS] Syntax | 07. keyof & typeof  (0) 2024.07.10
[TS] Syntax | 06. Union & Intersection  (0) 2024.06.28
[TS] Type | 02. Literal 타입  (0) 2024.06.28
[TS] Syntax | 04. Interface  (0) 2024.06.28
[TS] type | 01. 열거형(enum)  (0) 2024.06.28
'Language/TypeScript' 카테고리의 다른 글
  • [TS] Syntax | 07. keyof & typeof
  • [TS] Syntax | 06. Union & Intersection
  • [TS] Type | 02. Literal 타입
  • [TS] Syntax | 04. Interface
Rayi
Rayi
  • Rayi
    아카이브
    Rayi
  • 전체
    오늘
    어제
    • 분류 전체보기 (276)
      • CS (40)
        • CV (2)
        • PS (34)
      • Reveiw (18)
        • Paper (18)
        • Github (0)
      • ML (8)
        • Pytorch (5)
      • Language (59)
        • Python (8)
        • JavaScript (32)
        • TypeScript (16)
        • C++ (3)
      • IDE (12)
      • Git (13)
      • Frontend (77)
        • React (8)
        • ReactNative (6)
        • SolidJS (20)
        • CSS (12)
      • Backend (44)
        • DB (18)
        • Node.js (11)
      • UI (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    ML
    js
    GAN
    Express
    frontend
    CSS
    nodejs
    DB
    PyTorch
    postgresql
    Three
    deploy
    react
    expo
    ts
    PRISMA
    figma
    API
    modal
    python
    backend
    ReactNative
    mongo
    review
    CS
    CV
    vscode
    Git
    ps
    SOLID
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
Rayi
[TS] Syntax | 05. 타입 별칭(Type Alias)
상단으로

티스토리툴바