28 lines
1.5 KiB
Markdown
28 lines
1.5 KiB
Markdown
---
|
|
id: P-REINFORCE-TS-AMBIENT
|
|
category: "10_Wiki/💡 Topics/Design & Experience"
|
|
confidence_score: 0.98
|
|
tags: [TypeScript, Ambient Declarations, dts, Coding Standards]
|
|
last_reinforced: 2026-04-20
|
|
---
|
|
|
|
# [[Ambient-Declarations]] (앰비언트 선언)
|
|
|
|
## 📌 한 줄 통찰 (The Karpathy Summary)
|
|
> "존재하지만 실체는 없는 것들에 대한 증명." 타입스크립트 컴파일러에게 "이 변수나 함수는 외부에 이미 있으니 타입만 믿고 통과시켜라"라고 알려주는 `declare` 키워드의 본질이다.
|
|
|
|
## 📖 구조화된 지식 (Synthesized Content)
|
|
- **declare keyword**:
|
|
- 실제 컴파일된 JS 파일에는 포함되지 않지만, 타입 전용 공간에서 전역 변수나 라이브러리의 구조를 선언할 때 사용한다.
|
|
- **.d.ts files**:
|
|
- 앰비언트 선언들이 모여 있는 파일. 프로젝트 전체에 걸쳐 전역적인 타입 정보를 제공하는 '타입 명세서' 역할을 한다.
|
|
- **External Library Integration**:
|
|
- 타입 정보가 없는 레거시 JS 라이브러리를 타입스크립트 프로젝트에서 에러 없이 사용하기 위한 필수 관문이다.
|
|
|
|
## ⚠️ 모순 및 업데이트 (RL Update)
|
|
- 무분별한 앰비언트 선언은 전역 네임스페이스를 오염시킨다. 현대적 가이드라인은 가능하면 `Module Augmentation`을 사용하거나 `@types` 패키지를 통해 엄격하게 관리하는 것을 권장한다.
|
|
|
|
## 🔗 지식 연결 (Graph)
|
|
- Related: [[Declaration-Files]] , Module-Augmentation
|
|
- Standard: [[Branded-Types-for-Nominal-Typing]]
|