Files
2nd/10_Wiki/Topics_GD/Declaration-Files.md
T

28 lines
1.7 KiB
Markdown

---
id: [[P-Reinforce|P-Reinforce]]-AI-DECLARATION-FILES
category: "10_Wiki/💡 Topics/AI"
confidence_score: 0.99
tags: [TypeScript, [[JavaScript|JavaScript]], DeclarationFiles, Tooling]
last_reinforced: 2026-04-20
---
# [[Declaration-Files|Declaration-Files]] (선언 파일, .d.ts)
## 📌 한 줄 통찰 (The Karpathy Summary)
> "자바스크립트라는 원석에 타입이라는 주석을 입히는 투명 필름." 구현(Implementation)은 없이 오직 타입 정보(Signature)만 포함하여, 타입스크립트가 JS 코드를 이해하고 자동 완성을 제공하게 돕는 매뉴얼이다.
## 📖 구조화된 지식 (Synthesized Content)
- **Extension**: `.d.ts` (d는 declaration의 약자).
- **Core Role**:
- **Bridge**: 컴파일된 JS 파일 옆에서 해당 코드의 타입을 설명함.
- **Library [[Support|Support]]**: 직접 TS로 쓰이지 않은 NPM 패키지들에 타입을 부여함.
- **[[Ambient Declarations|Ambient Declarations]]**: `window``process` 같은 전역 객체에 타입을 추가하는 용도.
- **Compiler [[Behavior|Behavior]]**: 런타임에는 아무런 영향을 주지 않으며, 오직 '에디터'와 '컴파일 타임'의 안정성만을 위해 존재한다.
## ⚠️ 모순 및 업데이트 (RL Update)
- 선언 파일과 실제 JS 코드가 불일치(Out-of-sync)할 때 발생하는 '거짓 안전(False sense of security)'이 가장 위험하다. 이를 방지하기 위해 라이브러리 제작자는 `tsc`를 통해 구현부에서 타입을 자동 추출(emitDeclarationOnly)하는 방식을 지향해야 한다.
## 🔗 지식 연결 (Graph)
- Related: [[DefinitelyTyped|DefinitelyTyped]] , TypeScript-Type-System
- Practice: Publishing-Dual-CJS-ESM-Packages