5. 타입 활용하기

오민준·2024년 4월 8일
0

📘 조건부 타입

조건에 따라 다른 타입을 반환해야 할 때, 타입스크립트에서는 조건부 타입을 사용해 조건에 따라 출력 타입을 다르게 도출할 수 있다.
extends, infer, never 등을 활용해 원하는 타입을 만들고 어떤 상황에서 조건부 타입이 필요한지 알아본다.

💬 extends와 제네릭을 이용한 조건부 타입

  • T extends U ? X : Y 의 형태로 사용한다.
  • T를 U에 할당할 수 있으면 X타입, 그렇지 않다면 Y타입으로 결정된다.

💬 조건부 타입을 사용하지 않았을 때의 문제점

  • 사용자의 의도와는 다르게 정확한 타입을 반환하지 못한다.
  • 인자에 따라 반환되는 타입을 다르게 설정하고 싶다면 extends를 사용한 조건부 타입을 활용하면 된다.

💬 extends 조건부 타입을 활용하여 개선하기

  • 제네릭과 extned를 함께 사용해 제네릭으로 받는 타입을 제한해 휴먼에러를 방지할 수 있다.
  • 불필요한 타입가드, 타입 단언을 방지할 수 있다.

💬 infer를 활용해서 타입 추론하기

  • extends로 조건을 서술하고 infer로 타입을 추론하는 방식을 취한다.

📗 템플릿 리터럴 타입 활용하기

💬

  • 템플릿 리터럴 타입을 사용하면 컴파일타임의 변수에 할당되는 타입을 특정 문자열로 정확하게 검사하여 휴먼 에러를 방지할 수 있고, 자동 완성 기능을 통해 생산성을 높일 수 있다.

📙 커스텀 유틸리티 타입 활용하기

💬 유틸리티 함수를 활용해 styled-components의 중복 타입 선언 피하기

💬 PickOne 유틸리티 함수

💬 NonNullable 타입 검사 함수를 사용하게 간편하게 타입 가드하기

📔 불변 객체 타입으로 활용하기

💬 Atom 컴포넌트에서 theme style 활용하기

💬 Sub-Index 2

📕 Record 원시 타입 키 개선하기

💬 무한한 키를 집합으로 가지는 Record

💬 유닛 타입으로 변경하기

💬 Partial을 활용하여 정확한 타입 표현하기

profile
ChatGPT-Driven Development를 지양합니다.

0개의 댓글