자바스크립트 JavaScript
17. 모듈(Module) 시스템 (import/export, CommonJS, ESM)
안녕하세요! 태마입니다.
JavaScript 기초 강좌입니다.
강좌의 경우
1. 주제 간단 정리
2. 상세 주제 정리
으로 이루어져 있습니다.
자바스크립트 JavaScript
포스팅 시작하겠습니다 :)
1. 주제 간단 정리
1. 모듈(Module)이란?
모듈(Module)이란 코드를 여러 파일로 분리하여 관리할 수 있도록 하는 개념입니다.
JavaScript에서는 ES6 이후 import/export 문법을 사용하여 모듈을 지원하며,
Node.js에서는 CommonJS 방식(require)을 기본적으로 사용합니다.
📌 모듈을 사용하면 코드의 재사용성을 높이고, 유지보수를 쉽게 할 수 있다!
2. 모듈을 사용하는 이유
✅ 1) 코드 재사용 및 유지보수 용이
✅ 2) 전역 변수 충돌 방지 (각 파일이 독립적으로 실행됨)
✅ 3) 파일 단위로 코드를 나누어 가독성을 향상
3. ES6 모듈 시스템(import/export) 기본 문법
✅ 1) 모듈 내보내기 (export)
export 키워드를 사용하면 함수를 다른 파일에서 사용할 수 있습니다.
// math.js (모듈 파일)
export function add(a, b) {
return a + b;
}
export const PI = 3.14;
✅ 2) 모듈 가져오기 (import)
다른 파일에서 import 키워드를 사용하여 모듈을 가져올 수 있습니다.
// main.js (메인 파일)
import { add, PI } from "./math.js";
console.log(add(2, 3)); // 5
console.log(PI); // 3.14
📌 import/export를 사용하면 코드가 모듈화되어 유지보수가 쉬워짐!
✅ 여기까지 JavaScript의 모듈 개념과 기본 문법을 배웠습니다!
👉 "그렇다면, CommonJS 방식의 require와 module.exports는 어떻게 동작할까?"
✅ 2부에서 CommonJS, ESM, default export 차이점까지 상세히 배워봅시다!
2. 상세 주제 정리
1. CommonJS 모듈(require) vs ESM(import/export)
✅ 1) CommonJS 방식 (require/module.exports)
Node.js에서는 require()와 module.exports를 사용하여 모듈을 불러올 수 있습니다.
// math.js (CommonJS 방식)
function add(a, b) {
return a + b;
}
module.exports = { add };
// main.js (CommonJS 방식)
const { add } = require("./math");
console.log(add(5, 5)); // 10
✅ 2) ES6 모듈 방식 (import/export)
// math.js (ES6 방식)
export function add(a, b) {
return a + b;
}
// main.js (ES6 방식)
import { add } from "./math.js";
console.log(add(5, 5)); // 10
📌 CommonJS는 Node.js에서 기본적으로 사용되며, ES6 모듈은 브라우저에서도 사용 가능함!
2. default export와 named export 차이점
✅ 1) default export
한 모듈에서 하나의 기본 값을 내보낼 때 사용합니다.
// math.js
export default function add(a, b) {
return a + b;
}
// main.js
import add from "./math.js";
console.log(add(3, 4)); // 7
✅ 2) named export
여러 개의 값을 내보낼 때 사용합니다.
// math.js
export const add = (a, b) => a + b;
export const subtract = (a, b) => a - b;
// main.js
import { add, subtract } from "./math.js";
console.log(add(3, 4)); // 7
console.log(subtract(7, 4)); // 3
📌 default export는 한 개만 가능, named export는 여러 개 가능함!
✅ 지금까지 모듈 시스템의 종류와 사용법을 상세히 배웠습니다!
👉 "그렇다면, JSON 데이터는 JavaScript에서 어떻게 다룰까?"
✅ 다음 회차에서 JSON과 JavaScript의 활용법을 배워봅시다! 🚀
'IT Developer > JavaScript' 카테고리의 다른 글
JavaScript 기초 <20. 정규표현식(Regex) 제대로 활용하기 (패턴과 실제 사용 예시)> (0) | 2025.03.22 |
---|---|
JavaScript 기초 <19. 로컬스토리지 vs 세션스토리지 vs 쿠키 (차이점과 활용법)> (0) | 2025.03.21 |
JavaScript 기초 <18. JSON과 JavaScript (서버 통신과 활용법)> (0) | 2025.03.20 |
JavaScript 기초 <16. 클래스(Class)와 생성자 함수(ES6 이후 차이점 포함)> (0) | 2025.03.18 |
JavaScript 기초 <15. JavaScript의 실행 컨텍스트와 호이스팅> (1) | 2025.03.17 |
JavaScript 기초 <14. 이벤트(Event) 시스템과 버블링/캡처링 개념 정리> (1) | 2025.03.16 |
JavaScript 기초 <13. DOM(Document Object Model)이란? (HTML과 JS 연결하기)> (1) | 2025.03.15 |
JavaScript 기초 <12. 배열(Array)와 고차 함수(map, filter, reduce 등) 활용> (1) | 2025.03.14 |