타입스크립트가 존재하지 않던 자바스크립트 라이브러리에게 "이런 변수나 함수가 어딘가에 존재하니까 에러 내지 마!"라고 알려주는 declare 키워드와 .d.ts 파일의 개념입니다.
declare
.d.ts
JS 파일로만 이루어진 구형 라이브러리나 전역 변수를 사용할 때,TS 컴파일러의 깐깐한 입국 심사(타입 에러)를 무사히 통과하기 위해 발급하는 비자입니다.
// 이 코드는 .ts 또는 .d.ts 파일에 작성됩니다. // 1. 전역 변수 선언 (HTML 스크립트 태그로 로드된 구형 라이브러리) declare const jQuery: (selector: string) => any; declare const $: (selector: string) => any; $("#my-btn").click(); // 에러 없이 통과! (구현은 외부 JS에 있음) // 2. 모듈 선언 (타입이 없는 npm 패키지) declare module "some-untyped-module" { export function doSomething(value: string): boolean; export const version: string; } // 3. 에셋 파일 선언 (웹팩, Vite 등에서 이미지/CSS 임포트 허용) declare module "*.png" { const content: string; export default content; } import logo from "./logo.png"; // 이제 타입 에러가 발생하지 않습니다.