JavaScript 구현과 .d.ts는 하나의 공개 API를 공유한다
선언 파일은 실행 코드를 복제하지 않고, 실제 export의 이름·입력·반환 타입을 소비 코드에 전달한다.
-
01
런타임 API 확인
StringUtils.js가 내보내는 함수 이름과 실제 동작 범위를 먼저 고정한다. -
02
시그니처 선언
.d.ts에는 구현 없이 매개변수, 반환값, null 허용 범위만 적는다. -
03
경로 일치
선언의 모듈 이름과 소비 코드의
import문자열이 같은 대상을 가리켜야 한다. -
04
호출부 검사
컴파일러는 선언을 읽어 잘못된 인자와 반환값 오해를 실행 전에 드러낸다.
핵심: 선언이 실제 JavaScript보다 넓거나 좁으면 계약이 깨진다. 구현이 바뀔 때 타입 시그니처도 함께 갱신한다.