JavaScript 구현과 .d.ts는 하나의 공개 API를 공유한다

선언 파일은 실행 코드를 복제하지 않고, 실제 export의 이름·입력·반환 타입을 소비 코드에 전달한다.

  1. 01

    런타임 API 확인

    StringUtils.js가 내보내는 함수 이름과 실제 동작 범위를 먼저 고정한다.

  2. 02

    시그니처 선언

    .d.ts에는 구현 없이 매개변수, 반환값, null 허용 범위만 적는다.

  3. 03

    경로 일치

    선언의 모듈 이름과 소비 코드의 import 문자열이 같은 대상을 가리켜야 한다.

  4. 04

    호출부 검사

    컴파일러는 선언을 읽어 잘못된 인자와 반환값 오해를 실행 전에 드러낸다.

핵심: 선언이 실제 JavaScript보다 넓거나 좁으면 계약이 깨진다. 구현이 바뀔 때 타입 시그니처도 함께 갱신한다.