JavaScript

[JavaScript] 모듈

wwxs 2024. 8. 11. 22:28

모듈(Module)

모듈의 정의 

  • 재사용 가능한 코드 조각 → 함수, 변수, 클라스, 파일 등을 포함

모듈의 특징

  • 각각의 모듈은 독립성을 가짐
  • 다른 코드 내부에서 재사용 가능
  • 네임스페이스 관리: 모듈 자체의 이름을 가짐(다른 모듈과의 충돌을 방지)
  • 가독성 및 조직화 향상

ES6 모듈

  • ES2015 이후에 JS에서 공식적으로 모듈 시스템을 도입 → import, export문을 통해 모듈을 가져오고 내보내는 방식 도입
  • 스코프 격리 : 모듈 내에서 선언된 변수, 함수, 클래스 등은 모듈 외부에서 접근 x → 전역 변수의 사용 줄이고 이름 충돌을 방지
  • 재사용성과 유지보수성 향상
더보기
(import문 사용 예시)

import { PI as PIE, multiply as mp } from './module02.js';

console.log(PIE); // 3.1412341234
console.log(mp(2, 3)); // 6





[module02.js]
export const PI = 3.1412341234;

export function multiply(x, y) {
  return x * y;
}

1. import문

1) 이름 붙여 가져오기 - 중괄호 사용 가능

  • 여러 개의 export가 가능 → 중괄호 내에서 ,(콤마)로 구분하여 나열

2) 이름 붙여 가져오기의 as 구문

  • as 키워드(alias: 별칭, 별명) → 가져오는 모듈 내에서 별칭을 사용하여 해당 기능에 대한 참조

3) 전체 모듈을 별칭으로 가져오기

  • 하나의 모듈(파일)을 하나의 별칭으로 가져와 모듈 내의 모든 기능을 해당 별칭을 통해 접근
  • 하나의 모듈을 객체로 파악
더보기
import * as module02 from './module02.js';

console.log(module02.PI); // 3.1412341234
console.log(module02.multiply(9, 2)); // 18

4) 기본 가져오기

  • import 모듈명(변경 x) from './파일의경로.확장자'; 
더보기
import add from './module02.js';
console.log(add(4, 5)); // 9

 

2. export문

  • 모듈에서 다른 파일로 함수, 변수, 클래스 등을 내보낼 때
  • 이름 붙여 내보내기, 기본 내보내기

1) Named Exports (이름 붙여 내보내기)

  • 하나의 모듈에서 여러 항목을 내보내기 가능
  • 각 항목은 고유한 이름으로 참조
  • 각 항목앞에 export 키워드 참조

2) Default Exports (기본 내보내기)

  • 모듈 당 하나의 항목만 내보내기 가능
  • 주로 한 모듈에 하나의 주요 기능이 있는 경우에 적합
  • 각 항목 앞에 export default 키워드 사용

'JavaScript' 카테고리의 다른 글

[JavaScript] DOM  (0) 2024.08.13
[JavaScript] 비동기  (0) 2024.08.12
[JavaScript] 내장 객체  (0) 2024.08.08
[JavaScript] 이벤트(Event)  (0) 2024.08.07
[JavaScript] 객체  (0) 2024.08.06