728x90
https://medium.com/naver-fe-platform/타입스크립트-컴파일러가-모듈-타입-선언을-참조하는-과정-5bfc55a88bb6
declaration(선언)
implement(구현)
모듈 구현과 타입 선언
시작부터 짚고 넘어가야 할 것은, 모듈 구현(implement)과 타입 선언(declaration)은 별개라는 것이다. 모듈 구현은 모듈의 동작부를 작성하는 것이고, 타입 선언은 타입스크립트 컴파일러에서 제공하는 타입 검증을 위해 객체의 타입을 서술하는 것이다.
.ts파일로 작성한 스크립트의 경우 모듈 구현과 타입 선언이 동시에 이루어지지만, .js파일에서는 오로지 모듈 구현만 이루어지고, .d.ts파일에서는 타입 선언만 이루어진다
거시적인 관점에서 타입스크립트 컴파일러가 하는 일은 타입 선언을 참조하여 모듈을 올바르게 사용하는지 검증하는 것이다. 따라서 사실상 타입스크립트는 모듈 구현부를 불러오는 것이 아니라 타입 선언을 불러오는 것이다.