.d.ts 파일은 구현을 다시 쓰는 파일이 아니라, 이미 존재하는 .js 모듈의 공개 API를 타입 시그니처로 설명하는 계약서다.
| 순서 | 확인 지점 | 작성 내용 | 타입스크립트가 얻는 정보 |
|---|---|---|---|
| 01 |
JS API 표면 내보내는 함수와 인자 의미를 확인한다. |
capitalize, isEmpty 이름을 고정한다. | 어떤 식별자를 import할 수 있는지 알게 된다. |
| 02 |
모듈 경로 사용 코드의 import 문자열과 맞춘다. |
declare module './StringUtils' | 해당 JS 파일에 붙일 타입 선언을 찾는다. |
| 03 |
함수 시그니처 입력과 반환 타입을 실제 동작에 맞춘다. |
export function capitalize(str: string): string; | 인자 타입과 반환 타입을 IDE와 컴파일러가 함께 사용한다. |
| 04 |
널 허용 범위 빈 값 처리 함수의 입력 폭을 정한다. |
string | null | undefined | 허용되는 빈 값과 잘못된 인자를 구분한다. |
| 05 |
소비 코드 타입 선언이 적용되는 호출을 확인한다. |
import { capitalize, isEmpty } | capitalize(123) 같은 호출을 오류로 표시한다. |