Skip to content

post(blog): TypeScript 조건부 타입과 infer 포스트 추가 (#36) - #137

Merged
Malloc72P merged 2 commits into
mainfrom
claude/blog-post-github-issue-61f89e
Jul 23, 2026
Merged

post(blog): TypeScript 조건부 타입과 infer 포스트 추가 (#36)#137
Malloc72P merged 2 commits into
mainfrom
claude/blog-post-github-issue-61f89e

Conversation

@Malloc72P

Copy link
Copy Markdown
Owner

개요

#36 이슈의 주제로, 조건부 타입과 infer를 분해하고 내장 유틸리티 타입을 직접 구현해 보는 포스트를 추가했습니다.

  • 파일: apps/blog/src/app/(main)/posts/frontend/ts-conditional-types/page.mdx
  • 시리즈: frontend / postId: ts-conditional-types

다루는 내용

  • 조건부 타입 T extends U ? X : Y — 타입 세계의 삼항 연산자, extends는 상속이 아니라 할당 가능성(subtype) 판정
  • inferextends 패턴에 구멍을 뚫어 타입을 꺼내는 원리 (정규식 캡처 그룹 비유)
  • 직접 구현ReturnType(반환 위치) / Parameters(인자 위치) / Awaited(재귀로 중첩 Promise 평탄화)
  • 분배 조건부 타입 — 유니온 멤버별 적용, never 증발 함정, [T] extends [U]로 분배 끄기, Exclude·Extract 직접 구현

검증

  • 모든 코드 예제를 프로젝트와 동일한 tsc 설정(strict / ES2022 / noUncheckedIndexedAccess)으로 컴파일
  • 주석에 적은 타입 결과를 Equal/Expect 타입 동등성 단언으로 증명 (내장 유틸리티와 결과 일치 포함)
  • pnpm run build 통과 (정적 페이지 생성 확인)
  • pnpm run lint 통과 (--max-warnings 0)
  • frontmatter postId가 폴더명과 일치, 기존 TS 시리즈(ts-generics·ts-never-unknown·ts-type-narrowing) 상호 참조 연결

Closes #36

- ReturnType·Parameters·Awaited를 infer로 직접 구현하며 조건부 타입 원리 설명
- 분배 조건부 타입과 never 증발, [T] extends [U]로 분배 끄기까지 정리
- 모든 예제를 tsc(strict) 컴파일 + 타입 동등성 단언으로 검증
@vercel

vercel Bot commented Jul 23, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
blog Ignored Ignored Preview Jul 23, 2026 7:49am

- '무는 함정'→'빠지는 함정', '~때' 중복 제거로 문장 다듬기
- frontmatter description의 백틱 제거(검색 프리뷰·SEO 스니펫에 리터럴 노출 방지)
- 표준 Awaited 방주를 thenable에서 값을 꺼내 재귀하는 흐름으로 정확히 서술
@Malloc72P
Malloc72P merged commit 19a5660 into main Jul 23, 2026
3 checks passed
@Malloc72P
Malloc72P deleted the claude/blog-post-github-issue-61f89e branch July 29, 2026 01:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

조건부 타입과 infer로 ReturnType·Parameters를 직접 만들어 보기

1 participant