TypeScript의 declare
키워드는 주로 외부 JavaScript 라이브러리 또는 모듈의 타입 선언을 작성할 때 사용됩니다. declare
키워드를 사용하여 타입스크립트 컴파일러에게 해당 심볼(변수, 함수, 클래스 등)이 이미 존재한다는 것을 알려주는 역할을 합니다.
일반적으로 외부 라이브러리는 타입스크립트로 작성된 정적 타입 정보가 없을 수 있습니다. 이러한 경우에 declare
키워드를 사용하여 해당 라이브러리의 타입 선언을 직접 작성할 수 있습니다. 이렇게 작성된 선언 파일을 사용하면 타입스크립트 컴파일러가 해당 라이브러리의 타입을 이해하고 타입 검사를 수행할 수 있게 됩니다.
예를 들어, 외부 라이브러리 axios
의 타입 선언을 작성해야 한다고 가정해봅시다. declare
키워드를 사용하여 axios
의 타입 선언 파일을 작성할 수 있습니다:
declare module 'axios' {
export function get(url: string): Promise<any>;
export function post(url: string, data: any): Promise<any>;
// ...
}
이렇게 작성된 타입 선언 파일을 프로젝트에 추가하면, 타입스크립트 컴파일러는 axios.get
및 axios.post
함수의 인자 및 반환 타입에 대한 타입 검사를 수행할 수 있게 됩니다.
declare
키워드는 또한 전역 스코프에서 변수, 함수, 네임스페이스 등을 선언하는 데에도 사용될 수 있습니다. 이를 통해 타입스크립트 컴파일러에게 해당 심볼이 이미 존재한다는 것을 알려줄 수 있습니다.
단순히 declare
키워드만 사용한다고 해서 해당 심볼의 구현이 제공되는 것은 아니며, 단지 타입 검사를 위한 정보를 제공하는 용도로 사용됩니다.