iBetter Books
수정

PART 05. 타입 좁히기

TypeScript의 "지능"을 이해합니다. 코드를 읽고 타입을 좁혀가는 원리를 배웁니다.

PART 04에서는 함수의 매개변수와 반환값에 타입을 붙이는 법을 배웠습니다. 유니온 타입을 매개변수에 쓰면서 "숫자이거나 문자열인 값"을 표현했습니다. 그런데 함수 안에서 그 값을 실제로 쓸 때는 어떻게 할까요? 숫자에는 toFixed()가 있고 문자열에는 toUpperCase()가 있습니다. 두 메서드를 한꺼번에 쓸 수는 없습니다.

TypeScript는 이 문제를 코드 흐름을 직접 읽는 방식으로 해결합니다. if 문 안을 보고, 조건에 따라 타입이 좁아진 것을 추적합니다. 이것이 타입 좁히기입니다.

이 파트에서는 다음 내용을 다룹니다.

  • Ch 01. TypeScript는 코드를 읽는다 — 제어 흐름 분석: TypeScript 컴파일러가 코드 경로를 따라 타입을 추적하는 원리를 배웁니다. 조건문 하나가 변수의 타입을 어떻게 바꾸는지 살펴봅니다.
  • Ch 02. typeof, instanceof, 판별 유니온: 기본형 검사, 클래스 검사, 공통 필드로 분기하는 세 가지 좁히기 도구를 배웁니다. API 응답 처리 같은 실전 예제에 적용해봅니다.
  • Ch 03. 타입 단언, 꼭 필요할 때만: as 문법으로 타입을 직접 지정하는 방법과 그 위험성을 살펴봅니다. 단언이 필요한 상황과 피해야 할 상황을 구분합니다.

이 파트를 마치면 유니온 타입을 안전하게 다루고, TypeScript가 제공하는 자동 타입 추적을 최대한 활용할 수 있게 됩니다.

사용자 정의 타입 가드, never를 활용한 완전성 검사 같은 중급 주제는 "실전 TypeScript" PART 03에서 다룹니다.