window
객체에 **사용자 정의 속성(custom property)**을 추가하려고 할 때 TypeScript에서는 다음과 같은 타입 오류가 발생합니다.
window.myCustomProperty = "Hello, world!";
// ❌ 오류: Property 'myCustomProperty' does not exist on type 'Window'.
이유는 TypeScript의 window
객체 타입이 Window
인터페이스로 정해져 있기 때문입니다.
기본적으로 window
객체에는 지정된 속성들만 존재하며, 추가 속성을 넣으려 하면 타입 오류가 발생합니다.
이 글에서는 TypeScript에서 window
객체를 확장하여 사용자 정의 속성을 추가하는 방법을 정리합니다.
.d.ts
) 생성우선, 프로젝트의 루트 디렉터리 또는 src/types/
폴더에 globals.d.ts
파일을 생성합니다.
📌 파일 경로: src/types/globals.d.ts
// src/types/globals.d.ts
interface Window {
myCustomProperty: string;
myCustomMethod: () => void;
}
📌 설명
myCustomProperty
: window
객체에 추가할 문자열 속성