declare와 export type 차이
작성일 : 2024.12.18
declare와 export type은 다른 용도로 사용됩니다:
// 1. declare - 타입이 "존재한다"고 선언만 함
declare interface UserType {
name: string;
}
// 2. export type - 실제 타입을 정의하고 다른 파일에서 임포트해서 사용할 수 있게 함
export type APIResult<T> = T | {
code: number;
message: string;
}
실제 사용 예시를 보면:
// declare는 타입이 어딘가 있다고 선언만 함 (구현 X)
declare const myAPI: UserType;
// export type은 실제 사용할 타입을 정의하고 내보내기
// 다른 파일에서:
import type { APIResult } from './types';
const response: APIResult<UserData> = await fetchUser();
간단히 말하면:
declare: "이런게 있어!" 하고 TypeScript에게 알려주기만 함export type: 실제 타입을 정의하고 다른 파일에서 사용할 수 있게 내보내기