모던자바스크립트 DeepDive : 48장 모듈

te-ing·2022년 4월 22일
0
post-thumbnail

ES6부터 script 태그에 type=”module” 속성을 추가하면 자바스크립트 파일은 모듈로서 동작하며, 일반적인 자바스크립트 파일이 아닌 ESM라는 것을 명확히 하기 위해 파일 확장자는 mjs를 사용할 것을 권장한다. <script type=”module” src=app.mjs></script>

ESM은 독자적인 모듈 스코프를 제공하며, strict mode가 적용된다.

export

export const pi = Math.PI;
export function square(x) {
	return x * x;
}
// export {pi, square}; // 하나의 객체로 구성하여 공개

선언문 앞에 사용하여 다른 모듈들이 재사용할 수 있게끔 한다.

import

import square from './oneLib.mjs'
import { pi as PI, Person as P } from './lib.mjs;

export한 식별자 이름으로 import하며, ESM의 경우 파일 확장자를 생략할 수 없다.
모듈에서 하나의 값만 export한다면 default 키워드를 사용할 수 있으며 {}없이 임의의 이름으로 import 한다.

profile
병아리 프론트엔드 개발자🐣

0개의 댓글