🧩 Contents Table
컴파일은 코드 생성을 의미하며
타입스크립트 컴파일러tsc
가 타입스크립트를 트랜스파일(⊂ 컴파일)하여 자바스크립트를 생성.
즉 컴파일을 진행하며 타입 관련 코드는 모두 제거되고 런타임에는 자바스크립트로만 실행.
**타입스크립트 컴파일러tsc
**는
타입체크
타입스크립트를 자바스크립트로 트랜스파일하는 역할을 수행함.
하지만 두 역할은 완벽히 독립적이여서, 선택적으로 적용할 수 있음.
tsconfig
에서 —noEmit: true
옵션을 통해 타입체크만 수행하도록 하고 트랜스파일은 하지 않도록transpile only
를 설정하여 타입체크를 건너뛰고 트랜스파일만 할 수 있도록타입체크와 컴파일이 별개로 발생한다는 것이 특징. 컴파일 시점과 타입체크 시점이 다르기 때문에
타입스크립트 컴파일 오류를 타입체크 에러라고 부르는 것이 좀 더 정확함.
만약 타입스크립트 컴파일러의 오버헤드가 발생한다면 런타임 시점이 아닌 컴파일 시점 즉 웹 빌드 시점에 발생.
따라서 이를 해결하기 위해 컴파일 성능이 좋은 ESBuild를 tsc
대신 사용할 수도 있음.
타입체크는 tsc
에게 맡기고, ESBuild가 웹 빌드시에 트랜스파일 하는 방식으로.