# 06 타입 시스템 심화

- [6.0 들어가며](/ts-for-jsdev/06-type-system-deepdive/intro.md): 6장에서는 타입스크립트의 타입 시스템에 대해 심도있게 다룬다.
- [6.1 타입 좁히기](/ts-for-jsdev/06-type-system-deepdive/type-narrowing.md): 타입스크립트가 타입을 보다 좁은 타입으로 좁히는 다양한 상황에 대해 알아본다.
- [6.2 타입 추론](/ts-for-jsdev/06-type-system-deepdive/type-inference.md): 컴파일러는 타입 추론을 통해 명시적인 타입 표기 없이도 타입 정보를 이해할 수 있다.
- [6.3 타입 단언](/ts-for-jsdev/06-type-system-deepdive/type-assertion.md): 타입 단언을 통해 컴파일러에게 특정 타입 정보의 사용을 강제할 수 있다.
- [6.4 집합으로서의 타입](/ts-for-jsdev/06-type-system-deepdive/types-as-sets.md): 프로그래밍의 타입이 수학의 집합과 공유하는 성질, 그리고 타입을 집합으로 바라보는 관점에 대해 배운다.
- [6.5 서로소 유니온 타입](/ts-for-jsdev/06-type-system-deepdive/disjoint-union-type.md): 유니온 타입의 특수한 경우인 서로소 유니온 타입의 의미와 쓸모에 대해 다룬다.
- [6.6 맺으며](/ts-for-jsdev/06-type-system-deepdive/outro.md)
