반응형
JavaScript에서 모듈 내보내기(exporting)와 가져오기(importing)
JavaScript에서 모듈 내보내기(exporting)와 가져오기(importing)에는 두 가지 주요 문법이 있습니다: 기본 내보내기(export default
)와 명시적 내보내기(export
). 각 문법은 다른 모듈이 사용할 수 있도록 해당 모듈의 함수, 객체, 클래스 등을 외부로 공개하는 방법을 제공합니다.
기본 내보내기 (export default
)
- 모듈에서 단 하나의 항목만 기본 내보내기로 설정할 수 있습니다.
- 가져올 때 (
import
)는 중괄호 없이 이름을 지정하여 가져올 수 있습니다. 이 이름은 내보낼 때 지정된 이름과 다를 수 있습니다. - 기본 내보내기는 모듈의 주요 내보내기로 사용되며, 간단하게 가져올 수 있도록 설계되었습니다.
문법 예시:
// Page 클래스를 기본 내보내기로 내보냅니다.
export default Page;
가져오는 방법 예시:
// 다른 모듈에서 Page 클래스를 기본 가져오기로 가져옵니다.
import Page from './Page.mjs';
명시적 내보내기 (export
)
- 하나의 모듈에서 여러 항목을 명시적으로 내보낼 수 있습니다.
- 가져올 때는 중괄호
{}
안에 정확한 이름을 사용해야 합니다. - 명시적 내보내기는 내보낼 항목들을 세밀하게 제어하고 싶을 때 사용됩니다.
문법 예시:
// Notebook 클래스를 명시적으로 내보냅니다.
export { Notebook };
가져오는 방법 예시:
// 다른 모듈에서 Notebook 클래스를 명시적 가져오기로 가져옵니다.
import { Notebook } from './Page.mjs';
코드 파일(Page.mjs
) 내에서의 사용
제공된 Page.mjs
파일 내에서의 문법 사용은 다음과 같습니다:
class Page {
// Page 클래스의 정의
}
class Notebook {
// Notebook 클래스의 정의
}
// Page 클래스를 기본 내보내기로 내보냅니다. 다른 모듈에서 import 시 중괄호 없이 가져올 수 있습니다.
export default Page;
// Notebook 클래스를 명시적으로 내보냅니다. 다른 모듈에서는 중괄호를 사용하여 import 해야 합니다.
export { Notebook };
정리
여기서 export default Page;
는 Page
클래스가 해당 모듈의 기본 내보내기임을 의미합니다. 따라서 Page
클래스는 다른 모듈에서 중괄호 없이 가져올 수 있습니다. 반면에 export { Notebook };
는 Notebook
클래스를 명시적으로 내보내는 것이므로, 중괄호를 사용하여 해당 이름으로 가져와야 합니다.
이러한 내보내기 방식을 사용함으로써, 모듈의 사용자는 자신의 필요에 따라 모듈 내에서 특정 항목을 선택적으로 가져올 수 있으며, 모듈 작성자는 내보내기를 통해 모듈의 사용 방식을 제어할 수 있습니다.
'컴퓨터과학과' 카테고리의 다른 글
[Node.js] 클래스 코딩 설명 (0) | 2024.04.12 |
---|---|
[Node.js] 클래스 구조에 대한 설명 (1) | 2024.04.11 |
[Node.js] 클래스 활용하기(export, import) (1) | 2024.04.09 |
[Node.js] Node.js의 ES6 문법에서 확장자에 관하여 (0) | 2024.04.08 |
[Windows] '파워셸'의 기능과 역할 (0) | 2024.04.07 |
댓글