[서론 : TSC에 대한 소개 그리고 Type Narrowing]TSC는 무엇인가?TSC는 TypeScript Complier로, TypesScript 코드를 JavaScript로 변환해 주는 컴파일러이다. TSC는 타입 검사를 통해 코드 안정성을 보장하면서도 런타임에서 실행 가능한 JS 코드를 생성한다. TSC는 tsconfig.json를 기반으로 소스 파일들의 의존성 그래프를 구축하고 전체 컴파일 콘텍스트를 관리하는 Program을 실행하게 된다. TSC는 크게 소스코드를 키워드/연산자 단위로 토큰화하는 Scanner, 토큰화된 SyntaxKind를 AST(추상구문트리)로 변환하는 Parser, AST Node를 토대로 타입정보(선언과 참조)를 매핑하는 Binder, 이렇게 만들어진 Symbol Ta..