[TS] 조건부 타입과 infer를 활용한 타입 추론 연습

TIL

1. 조건을 만족하는 IsProductKey 타입 완성

IsProductKey 타입
- T가 Product의 key 중 하나일 경우 결과는 true 타입
- T가 Product의 key 중 하나가 아닐 경우 결과는 false 타입
interface Product {
  id: number;
  name: string;
  price: number;
  seller: {
    id: number;
    name: string;
    company: string;
  };
}

type IsProductKey<T> = any;​
type IsProductKey<T> = T extends keyof Product ? true: false;

 

2. 조건을 만족하는 Extract<T, U> 타입 구현

Extract<T, U>
- T로부터 U만 추출하는 타입
type Extract<T, U> = any;​
type Extract<T, U> = T extends U ? T : never;

 

3. 배열 타입의 요소를 추출하는 InferArrayType 타입 구현

type InferArrayType<T> = any;
type InferArrayType<T> = T extends (infer R)[] ? R : never;

 

'TIL' 카테고리의 다른 글

[CS50] C 언어 - 문자열  (0) 2025.11.05
[CS50] C 기초  (0) 2025.11.05
[TS] infer (타입 추론)  (0) 2025.11.05
[TS] 분산적인 조건부 타입  (0) 2025.11.05
[TS] 타입 조작 및 고급 타입 활용 연습  (0) 2025.11.05
'TIL' 카테고리의 다른 글
  • [CS50] C 언어 - 문자열
  • [CS50] C 기초
  • [TS] infer (타입 추론)
  • [TS] 분산적인 조건부 타입
고견
고견
개발 자국 남기기
  • 고견
    개발자국
    고견
  • 전체
    오늘
    어제
    • 분류 전체보기 (157) N
      • Frontend (29)
        • Next.js (16)
        • JavaScript (7)
      • CS (19) N
        • 자료구조 (9)
        • 알고리즘 (5)
        • 운영체제 (4) N
        • 네트워크 (1) N
      • TIL (93)
      • Dev Log (16)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    Spa
    트러블 슈팅
    ai 감성 일기장
    배열
    emotion diary
    memory
    C
    typescript
    useState
    algorithm
    함수 타입
    Pages Router
    타입 좁히기
    자료구조
    문자열
    제네릭
    javascript
    cs50
    Next.js
    앱 라우터
    react
    generic
    CS
    바닐라 자바스크립트
    App Router
    알고리즘
    클래스
    페이지 라우터
    인터페이스
    Trouble Shooting
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
고견
[TS] 조건부 타입과 infer를 활용한 타입 추론 연습
상단으로

티스토리툴바