TypeScript Template Literal Types를 예제로 배우기
Template literal types로 키 생성, 라우트 파싱, 타입 안전 이벤트 이미터 작성, Vitest로 테스트하기와 함정들을 다룹니다.
Template literal types로 키 생성, 라우트 파싱, 타입 안전 이벤트 이미터 작성, Vitest로 테스트하기와 함정들을 다룹니다.
tsconfig의 strict 플래그가 어떤 검사를 활성화하는지, 각 검사가 어떤 오류를 잡는지, strict 외에 어떤 추가 플래그를 활성화해야 하는지, 기존 프로젝트를 strict로 마이그레이션하는 방법
keyof, typeof, indexed access types를 사용하여 기존 데이터에서 타입을 추론하고, 반복 코드를 줄이며, 컴파일러가 잘못된 key를 대신 잡도록 합니다.
TypeScript 라이브러리가 올바른 표준으로 .d.ts 파일을 생성하도록 tsconfig와 package.json을 구성하고, 사용자를 위한 완전한 타입 지원과 Vitest를 통한 테스트 방법을 소개합니다.
async 함수의 타입 선언, Promise<T>, Awaited, Promise.all 사용법, 안전한 에러 처리, async 콜백의 흔한 실수 피하기
TypeScript의 enum과 union string literal을 runtime, type safety, tooling 관점에서 비교하고, `as const` 패턴과 실용적인 선택 기준을 제시합니다.
API, 폼, 환경 변수 등에서 받은 데이터를 런타임에 Zod로 검증하면서 동시에 같은 schema에서 TypeScript 타입을 추론해보세요.
Mapped types와 conditional types를 사용하여 기존 타입으로부터 새로운 타입을 자동 생성하기, infer, key 이름 바꾸기, 타입 테스트 및 흔한 오류들.
TypeScript 신규 프로젝트를 위한 tsconfig.json 설정 가이드, strict mode, NodeNext 모듈, build/test 설정 분리 및 흔한 오류들
type guard(x is T)와 assertion function(asserts x is T)으로 안전하게 타입을 좁혀서 unknown 데이터를 검증하고 일반적인 함정을 피하는 방법을 배웁니다.
구체적인 예제로 TypeScript의 any, unknown, never를 구분하기: 언제 사용하고, 언제 피해야 하는지, 그리고 완전성 검사 방법
Discriminated union을 사용하여 state와 API response를 모델링하고, 컴파일러가 유효하지 않은 상태를 차단하며 모든 경우를 처리하도록 강제합니다.
Union과 Intersection을 이용한 타입 조합, 그리고 TypeScript의 타입 좁히기(narrowing)를 통해 안전하고 런타임 오류를 줄인 코드를 작성하는 방법을 알아봅시다.
Partial, Pick, Omit, Record를 사용해 type을 재사용하고 TypeScript에서 인터페이스 중복을 줄이는 방법을 알아봅시다.
실제 Repository, ApiResponse, Cache 같은 예제로 TypeScript generics를 배워보세요 — 딱딱한 이론이 아닌, 실제 동작하는 코드와 테스트를 포함합니다.