[TYPESCRIPT] Ambient Declaration을 직접 작성해야 하는 순간과 d.ts 파일이 남기는 영향
TypeScript를 쓰다 보면, 타입이 없는 라이브러리를 만나게 되는 순간이 있습니다. 내부에서 만든 유틸 스크립트일 수도 있고, 외부에서 받아온 오래된 패키지일 수도 있습니다. 처음에는 any로 처리하고 넘어갑니다. 일단 동작은 하니까요. 하지만 이 코드가 여러 파일로 퍼지기 시작하면, 타입 안정성은 금방 무너집니다. 이때 등장하는 게 Ambient Declaration, 즉 d.ts 파일입니다. 런타임 코드를 바꾸지 않고, 타입 시스템에만 정보를 추가하는 방식입니다. Ambient Declaration이 필요한 상황대표적인 경우는 다음과 같습니다. 타입 정의가 없는 JS 라이브러리를 사용할 때전역 객체(window, global)에 속성을 추가했을 때빌드 타임에만 존재하는 환경 변수를 타입으로 선언..