목차
index.d.ts는 무엇인가?
'index.d.ts'는 TypeScript 에서 타입 정의 파일(Type Definition File)로, 주로 JavaScript 라이브러리나 모듈의 타입 정보를 정의하는데 사용된다. 이 파일은 TypeScript 코드가 해당 라이브러리나 모듈과 상호작용할 때 타입 안전성을 유지하도록 도와준다.
'index.d.ts'파일의 주요 목적은 타입정보를 제공하여 코드 작성 중에 자동 완성 기능과 컴파일 타임 오류 검사를 가능하게 하는 것이다.
주요 내용
타입 선언
- index.d.ts 파일은 변수, 함수, 클래스, 인터페이스 등의 타입을 선언한다.
// Example: jQuery type definitions
declare var $: (selector: string) => any;
모듈 선언
- 특정 모듈의 타입을 정의할 수 있다. 주로 외부 모듈을 TypeScript로 사용할 때 사용된다.
// Example: Lodash module declaration
declare module "lodash" {
export function chunk<T>(array: T[], size: number): T[][];
}
전역 변수 선언
- 프로젝트 전역에서 사용되는 변수나 객체를 정의 할 수 있다.
// Example: Global variable declaration
declare var myGlobalVar: string;
네임스페이스
- 네임스페이스를 사용하여 타입을 그룹화하고 스코프를 제어할 수 있다.
declare namespace MyLibrary {
function myFunction(param: string): void;
interface MyInterface {
property: number;
}
}
기타 타입 선언
- 다른 TypeScript 타입(유니언 타입, 제네릭, 튜플 등)도 정의할 수 있다.
// Example: Union type declaration
type StringOrNumber = string | number;
// Example: Generic type declaration
interface GenericInterface<T> {
value: T;
}
사용 예시
라이브러리 타입 정의
- 예를 들어, jQuery 라이브러리를 사용한다고 가정하면, jQuery의 타입 정의 파일을 사용하여 TypeScript 코드에서 jQuery 객체의 타입 정보를 정의할 수 있다.
// index.d.ts
declare var $: (selector: string) => any;
// main.ts
const element = $('#myElement');
모듈 타입 정의
- 로컬 모듈이나 외부 모듈의 타입을 정의하여 사용한다.
// index.d.ts
declare module "myModule" {
export function myFunction(): string;
}
// main.ts
import { myFunction } from "myModule";
const result = myFunction();
마치며
'index.d.ts' 파일은 TypeScript 프로젝트에서 매우 유용하며, 특히 대규모 프로젝트나 다양한 외부 라이브러리를 사용하는 프로젝트에서 타입 안전성을 유지하는 데 필수적이다.
'타입스크립트(TS)' 카테고리의 다른 글
[TS]@types (1) | 2024.11.02 |
---|---|
엠비언트 타입(Ambient Type)(.d.ts) (0) | 2024.11.02 |
[TS] 커스텀 유틸리티 타입 활용하기 (0) | 2024.07.28 |