특정 프로그래밍 언어가 정적 언어로서의 정체성을 유지할 수 있게 하는 도구
프로그래밍 언어로 작성된 소스 코드 👉 다른 프로그래밍 언어로 변환하는 도구
결국은 TypeScript도 JavaScript로 변환되어야 코드를 실행할 수 있기 때문에 컴파일러가 필요하다.
TypeScript는 JavaScript로 변환되어서 실행한다는데
JavaScript 자체는 컴파일이 필요가 없는건가?
대표적인 정적 언어인 C 언어
로 작성된 코드의 경우 컴퓨터가 이해하기 위해서는 기계어로 변환이 되어야하기 때문에 컴파일러가 필요합니다. 따라서 컴파일 언어라고 부르기도 합니다.
반면 동적 언어 중 하나인 JavaScript
의 대표적인 런타임 환경은 브라우저(Chrome, Firefox, Safari...) 그리고 Node.js가 있습니다.
Chorme 혹은 Node.js를 JavaScript로 실행할 때는 V8 엔진이 코드를 해석 및 실행합니다.
정리하자면
타입 검사를 해주는 것은 컴파일러
❗컴파일러가 없다면 위와 같은 에러를 발견하지 못하고 런타임 에러가 발생
컴파일러는 코드 변환도 해준다
에러 메시지 해석할 때 도움을 받을 수 있다.
최적화에 유리하다.
tsc —-init
tsc index.ts
tsc src/*.ts
tsc index.js --declaration --emitDeclarationOnly