(ECMA Script) Modules

soosoorim·2024년 5월 13일
0

Modules
자바의 패키지처럼 관리하는 방법
함수나 변수의 이름을 충돌시킬 수 있는 가능성을 낮춰준다.

  • 모듈은 스크립트 파일 내에서 원하는 함수나 변수만 골라 사용할 수 있다.

  • 모든 것을 공유하는 구조와 다르게, 모듈의 최상위 수준에서 만들어진 변수는 Global Scope에 등록되지 않는다.

  • 모듈에 등록된 변수나 함수는 모듈내의 Global Scope에 등록된다.

  • 모듈에 등록된 변수나 함수는 외부에서 자유롭게 사용할 수 없다.

  • 외부에서 사용하기 위해서는 반드시 export 키워드를 사용해 주어야 한다.

  • export된 함수나 변수를 외부에서 사용하려면 import 키워드를 사용해야 한다.

다른 모듈에 코드 일부를 노출시키기 위해 export 키워드 사용
Export 키워드로 선언되지 않은 함수나 변수는 외부에서
사용할 수 없다.

Ex) private 처럼 동작

// 데이터 익스포트
export var color = "red";
export let name = "Min Chang";
export const magicNumber = 7;
// 함수 익스포트
export function sum(num1, num2) {
  return num1 + num2;
}
// 비공개 함수
function substract(num1, num2) {
  return num1 - num2;
}
// 비공개 함수
function multiply(num1, num2) {
  return num1 * num2;
}
// 위에서 정의한 함수 익스포트
export { multiply }
![](https://velog.velcdn.com/images/soosoorim/post/6f85e3e4-1804-43fb-b684-99fdae2157c4/image.png)
  • Export 한 모듈이 있을 때, import 키워드를 이용해 접근할 수 있다.
  • Export된 변수나 함수를 Import 했을 경우, 함수 및 변수 등은 모두 읽기 전용으로 바인딩 된다. 단, 함수를 통한 모듈내의 값은 변경이 가능하다.

0개의 댓글

관련 채용 정보