[typescript] 타입 별칭과 인터페이스를 사용하여 모듈 타입 정의하기
TypeScript는 JavaScript에 타입을 추가하는 강력한 도구이며, 모듈 시스템의 도입으로 코드를 모듈화하여 재사용할 수 있게 되었습니다. 모듈 타입을 정의함으로써 외부 라이브러리와 모듈 간의 상호작용을 더욱 안정적으로 만들 수 있습니다.
타입 별칭(Type Aliases)과 인터페이스(Interfaces)
TypeScript에서 타입 별칭은 새로운 타입 이름을 정의할 수 있는 기능입니다. 이를 통해 특정 타입에 대해 이름을 지어 사용할 수 있습니다.
예시:
type User = {
id: number;
username: string;
};
인터페이스는 객체의 구조를 정의하기 위한 TypeScript의 핵심적인 개념입니다. 위의 예시를 인터페이스로 표현하면 다음과 같습니다.
interface User {
id: number;
username: string;
}
모듈 타입 정의하기
모듈에서 제공되는 함수, 클래스 또는 다른 타입에 대한 타입을 정의하기 위해 위에서 언급한 타입 별칭과 인터페이스를 사용할 수 있습니다.
예시:
// types.ts
export type User = {
id: number;
username: string;
};
export interface Product {
id: number;
name: string;
}
위와 같이 types.ts
파일에 User
와 Product
타입을 정의하고, 이를 다른 파일에서 import하여 사용할 수 있습니다.
// main.ts
import { User, Product } from './types';
const user: User = {
id: 1,
username: 'john_doe',
};
const product: Product = {
id: 123,
name: 'Example Product',
};
이처럼 모듈 간의 타입 관계를 정의함으로써 타입 안정성을 확보할 수 있습니다.
결론
TypeScript를 사용하여 모듈을 정의할 때, 타입을 명확히 정의함으로써 코드의 안전성을 높일 수 있습니다. 타입 별칭과 인터페이스를 적절히 활용하여 모듈 간의 상호작용을 관리하면 유지보수가 용이하고 안정적인 코드를 작성할 수 있습니다.