typescript ?(Optional Parameters)와 | undefined(Union)의 차이

2023. 2. 9. 16:52·Project 하면서 알아가는 것들
반응형

Typescript 하면서 undefined를 지정하는 방법은 2가지가 있다.

// Optional Parameters로 지정하는 방법
interface Fruit {
    cost?: number
}

// Union으로 지정하는 방법
interface Fruit {
    cost: number | undefined
}

2개의 방법 중에서 한 가지 차이점이 존재한다. union으로 지정했을 때는 속성이 존재해야하고, optional parameters로 지정했을 때는 속성을 정의해주지 않아도 된다. 

 

Union으로 정의를 했다면 다음과 같이 사용하면 에러가 발생한다.

// Union으로 지정하는 방법
interface Fruit {
    cost: number | undefined
}

// Property 'cost' is missing in type '{}' but required in type 'Fruit'.
const x: Fruit = {};

// Good!
const x: Fruit = { cost: undefined };

 

Optional Parameters로 정의했다면 다음과 같이 사용할 수 있다.

// Optional Parameters 지정하는 방법
interface Fruit {
    cost?: number
}

// Good!
const x: Fruit = {};

// Good!
const x: Fruit = { cost: undefined };

 

Reference

https://stackoverflow.com/questions/64655681/whats-the-difference-between-and-undefined-in-typescript

반응형

'Project 하면서 알아가는 것들' 카테고리의 다른 글

IoC, DI, DPI 확실히 개념 잡기  (0) 2023.11.12
REST API 확실히 개념 잡기  (0) 2023.11.02
백엔드에서 이미지 업로드는 어떻게 하면 좋을까?  (6) 2023.11.01
[JWT] Access Token과 Refresh Token 그리고 RTR 기법에 대해서 알아보자.  (0) 2023.01.15
[NodeJS] Typescript EsLint 및 Prettier 적용하기  (0) 2023.01.10
'Project 하면서 알아가는 것들' 카테고리의 다른 글
  • REST API 확실히 개념 잡기
  • 백엔드에서 이미지 업로드는 어떻게 하면 좋을까?
  • [JWT] Access Token과 Refresh Token 그리고 RTR 기법에 대해서 알아보자.
  • [NodeJS] Typescript EsLint 및 Prettier 적용하기
seungyong20
seungyong20
  • seungyong20
    코딩 기록소
    seungyong20
  • 전체
    오늘
    어제
    • 분류 전체보기 (51)
      • Python 알고리즘 (38)
      • 자료구조 (1)
      • Project 하면서 알아가는 것들 (12)
  • 블로그 메뉴

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

  • 공지사항

    • 기록하는 습관을 기르자
  • 인기 글

  • 태그

    multiplebagexception
    python heap
    python 백준
    fetch join 주의점
    Python
    python 방향벡터
    python 2차원 배열
    jpa 에러
    jpa eager
    jpa multiplebagexception
    jpa 쿼리 최적화
    join fetch 주의점
    python 정렬
    python slicing
    python 브루트 포스
    python 그리디 문제 추천
    그리디 알고리즘
    Typescript
    jpa lazy vs eager
    JPA
    python 알고리즘
    jpa fetch
    python 그리디 알고리즘
    python 이코테
    multiplebagexception set list
    kafka
    spring boot
    백준
    jpa n + 1 문제
    python 그리디 알고리즘 문제 추천
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
seungyong20
typescript ?(Optional Parameters)와 | undefined(Union)의 차이
상단으로

티스토리툴바