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 }
