1장 들어가며1.1 웹 개발의 역사1.2 웹자바스크립트의 한계2장 타입2.1 타입이란2.2 타입스크립트의 타입 시스템2.3 원시 타입2.4 객체 타입3장 고급 타입3.1 타입스크립트만의 독자적 타입 시스템3.2 타입 조합3.3 제네릭 사용법4장 타입 확장하기·좁히기4.1 타입 확장하기4.2 타입 좁히기 - 타입 가드4.3 타입 좁히기 - 식별할 수 있는 유니온4.4 Exhaustiveness Checking으로 정확한 타입 분기 유지하기5장 타입 활용하기5.1 조건부 타입5.2 템플릿 리터럴 타입 활용하기5.3 커스텀 유틸리티 타입 활용하기5.4 불변 객체 타입으로 활용하기5.5 Record 원시 타입 키 개선하기6장 타입스크립트 컴파일6.1 자바스크립트의 런타임과 타입스크립트의 컴파일6.2 타입스크립트 컴파일러의 동작6.3 타입스크립트 컴파일러의 구조7장 비동기 호출7.1 API 요청7.2 API 상태 관리하기7.3 API 에러 핸들링7.4 API 모킹8장 JSX에서 TSX로8.1 리액트 컴포넌트의 타입8.2 타입스크립트로 리액트 컴포넌트 만들기8.3 정리9장 훅9.1 리액트 훅9.2 커스텀 훅10장 상태 관리10.1 상태 관리10.2 상태 관리 라이브러리11장 CSS-in-JS11.1 CSS-in-JS란11.2 유틸리티 함수를 활용하여 styled-components의 중복 타입 선언 피하기12장 타입스크립트 프로젝트 관리12.1 앰비언트 타입 활용하기12.2 스크립트와 설정 파일 활용하기12.3 타입스크립트 마이그레이션12.4 모노레포13장 타입스크립트와 객체 지향13.1 타입스크립트의 객체 지향13.2 우아한형제들의 활용 방식13.3 캡슐화와 추상화13.4 정리