CHAPTER 1 프로젝트 설정_1.1 자바스크립트 형식 검사하기_1.2 타입스크립트 설치하기_1.3 형식을 나란히 유지하기_1.4 프로젝트를 타입스크립트로 바꾸기_1.5 Definitely Typed에서 형식 불러오기_1.6 풀스택 프로젝트 설정하기_1.7 테스트 설정하기_1.8 URL로 ECMAScript 모듈 형식화하기_1.9 노드에서 다른 모듈 형식 불러오기_1.10 디노와 의존성 이용하기_1.11 미리 정의된 설정 사용하기CHAPTER 2 기본형_2.1 애너테이션 효과적으로 사용하기_2.2 any와 unknown 활용하기_2.3 올바른 객체 선택하기_2.4 튜플 형식 사용하기_2.5 인터페이스와 형식 별칭의 차이 이해하기_2.6 함수 오버로드 정의하기_2.7 this 매개변수의 형식 정의하기_2.8 심볼 사용하기_2.9 값과 형식 네임스페이스 이해하기CHAPTER 3 형식 시스템_3.1 유니온 형식과 인터섹션 형식으로 데이터 모델링하기_3.2 구별된 유니온 형식을 활용해 명시적으로 모델 정의하기_3.3 assertNever 함수를 이용해 완전 검사하기_3.4 Const 컨텍스트로 형식 고정하기_3.5 형식 찬반형으로 형식 좁히기_3.6 void 이해하기_3.7 catch 구문으로 오류 형식 처리하기_3.8 선택형 never로 배타적 논리합 모델 만들기_3.9 형식 어서션 효과적으로 사용하기_3.10 인덱스 시그니처 사용하기_3.11 빠진 프로퍼티와 undefined 값 구별하기_3.12 열거형 사용하기_3.13 구조적 형식 시스템에 명목상 형식 정의하기_3.14 문자열 하위 집합의 느슨한 자동 완성 활성화하기CHAPTER 4 제네릭_4.1 함수 시그니처 일반화하기_4.2 관련된 함수 인수 만들기_4.3 any와 unknown 제거하기_4.4 제네릭 인스턴스화 이해하기_4.5 새 객체 형식 생성하기_4.6 어서션 시그니처로 객체 변경하기_4.7 형식 맵을 이용한 매핑 형식 사용하기_4.8 ThisType으로 객체의 this 정의하기_4.9 제네릭 형식 매개변수에 const 컨텍스트 추가하기CHAPTER 5 조건부 형식_5.1 복잡한 함수 시그니처 관리하기_5.2 never로 거르기_5.3 kind로 요소 그룹화하기_5.4 특정 객체 프로퍼티 삭제하기_5.5 조건식에서 형식 추론하기CHAPTER 6 문자열 템플릿 리터럴 형식_6.1 사용자 정의 이벤트 시스템 정의하기_6.2 문자열 조작 형식과 키 매핑으로 이벤트 콜백 만들기_6.3 포맷 함수 구현하기_6.4 포맷 매개변수 형식 추출하기_6.5 재귀 한계 처리하기_6.6 템플릿 리터럴을 구별자로 사용하기CHAPTER 7 가변 튜플 형식_7.1 concat 함수 형식화하기_7.2 promisify 함수 형식화하기_7.3 curry 함수 형식화하기_7.4 유연한 curry 함수 형식화하기_7.5 가장 단순한 curry 함수 형식화하기_7.6 튜플로 열거형 만들기_7.7 함수 시그니처의 모든 요소 분할하기CHAPTER 8 헬퍼 형식_8.1 특정 프로퍼티를 선택형으로 설정하기_8.2 중첩된 객체 바꾸기_8.3 형식 재매핑하기_8.4 모든 필수 키 얻기_8.5 최소한 한 개의 프로퍼티 허용하기_8.6 정확히 한 개 허용, 모두 허용, 아무것도 허용하지 않기_8.7 유니온을 인터섹션 형식으로 변환하기_8.8 type-fest 사용하기CHAPTER 9 표준 라이브러리 및 외부 형식 정의_9.1 Object.keys로 객체 반복하기_9.2 형식 어서션과 unknown으로 안전하지 않은 동작을 명시적으로 표시하기_9.3 defineProperty 사용하기_9.4 Array.prototype.includes의 형식 확장하기_9.5 널 종류의 값 거르기_9.6 모듈 확장하기_9.7 전역 네임스페이스에 추가하기_9.8 자바스크립트가 아닌 모듈을 모듈 그래프로 추가하기CHAPTER 10 타입스크립트 및 반응_10.1 프록시 컴포넌트 작성하기_10.2 제어 컴포넌트 구현하기_10.3 사용자 정의 훅 형식 정의하기_10.4 제네릭 forwardRef 컴포넌트 형식화하기_10.5 컨텍스트 API에 형식 제공하기_10.6 고차 컴포넌트 형식화하기_10.7 리액트의 합성 이벤트 시스템에서 콜백 형식화하기_10.8 다형성 컴포넌트 형식화하기CHAPTER 11 클래스_11.1 올바른 가시성 변경자 선택하기_11.2 메서드 재정의를 명시적으로 정의하기_11.3 생성자 및 프로토타입 설명하기_11.4 클래스에서 제네릭 사용하기_11.5 클래스나 네임스페이스 사용 시기 결정하기_11.6 정적 클래스 작성하기_11.7 엄격한 프로퍼티 초기화 작업하기_11.8 클래스에서 this 형식으로 작업하기_11.9 데코레이터 구현하기CHAPTER 12 형식 개발 전략_12.1 유지 보수가 쉬운 형식 구현하기_12.2 단계별로 형식 다듬기_12.3 satisfies로 계약 검사하기_12.4 복합 형식 테스트하기_12.5 런타임에서 조드로 데이터 형식 확인하기_12.6 인덱스 접근 제한 작업하기_12.7 함수 오버로드 또는 조건부 형식 사용 여부 결정하기_12.8 제네릭 이름 정하기_12.9 타입스크립트 플레이그라운드 활용하기_12.10 여러 라이브러리 버전 제공하기_12.11 언제 멈춰야 할지 알기