본문 바로가기
Programming

JavaScript import와 export

by 나무수피아는 지식의 가지를 뻗어가는 공간입니다. 2025. 9. 11.
반응형

📦 자바스크립트 모듈화 - importexport 완전 정복

복잡한 애플리케이션을 개발할수록 코드를 잘게 나눠 모듈화(modularization)하는 것이 중요합니다. ES6 이후 자바스크립트는 importexport 키워드를 도입하여 모듈을 공식적으로 지원합니다.

📌 1. 모듈이란?

모듈은 각각의 자바스크립트 파일을 독립적인 단위로 나눈 것입니다. 변수, 함수, 클래스 등을 외부로 내보내기(export)하고 다른 모듈에서 가져오기(import)하여 사용할 수 있습니다.

장점:

  • 코드의 재사용성 증가
  • 파일 간 의존성 관리
  • 가독성과 유지보수 향상

🚀 2. export - 내보내기

변수, 함수, 클래스 등을 다른 파일에서 사용할 수 있게 내보냅니다.

✅ 2-1. named export (이름 있는 내보내기)

// mathUtil.js
export const add = (a, b) => a + b;
export const subtract = (a, b) => a - b;

✅ 2-2. default export (기본 내보내기)

// greeting.js
export default function greet(name) {
  console.log(`Hello, ${name}!`);
}

default는 모듈당 한 번만 사용할 수 있으며 이름 없이 가져올 수 있습니다.

📥 3. import - 가져오기

✅ 3-1. named import

// main.js
import { add, subtract } from './mathUtil.js';

console.log(add(3, 2));      // 5
console.log(subtract(5, 1)); // 4

✅ 3-2. default import

// main.js
import greet from './greeting.js';

greet('철수'); // Hello, 철수!

✅ 3-3. 전체를 import

// main.js
import * as math from './mathUtil.js';

console.log(math.add(1, 2));
console.log(math.subtract(5, 3));

⚙️ 4. 모듈 사용 시 주의 사항

  • 모듈 파일은 반드시 확장자 포함 (ex: .js, .mjs)
  • 브라우저에서 <script type="module"> 사용 필수
  • 동일한 모듈은 한 번만 로드됨 (캐싱)
<script type="module" src="main.js"></script>
💡 Node.js 환경에서는 CommonJS 방식 (require, module.exports)도 존재하지만, ES6 모듈 방식이 점점 더 많이 사용되고 있습니다.

📚 5. 마무리

import/export는 자바스크립트의 모던 개발에서 필수 기능입니다. 모듈을 적절히 나누고 가져오는 방식에 익숙해지면 프로젝트 관리와 협업 효율이 크게 향상됩니다.

반응형

'Programming' 카테고리의 다른 글

JavaScript JSON과 AJAX  (90) 2025.09.13
JavaScript 에러 처리  (123) 2025.09.12
JavaScript 프로토타입과 상속  (110) 2025.09.10
JavaScript this와 바인딩  (112) 2025.09.09
JavaScript 스코프와 클로저  (107) 2025.09.08