모듈 내보내고 가져오기
-
import/export 문은 정적인 방식으로 모듈 경로엔 원시 문자열만 가능(함수 호출 불가능)
-
export [default] class/function/variable...
로 클래스, 함수 등 내보냄 -
export 는 선언부에서 떨어진 곳에서 붙일 수 있음
-
export {x [as y], ...}
로 이름없는 개체 내보냄 -
다시 내보내기는
export {x[as y]. ...} from "module"
,export * from "module"
(default 는 다시 내보내지지 않고 무시됨),export {defalult [as y]} from "module"
(defalult export 다시 내보냄) -
import {x [as y], ...} from "module"
로 name export 가져옴 -
import 시 모든 것을 객체로 가져올 때 default 프로퍼티는 default export 가리킴
-
default export 가져오기는
import x from "module"
,import {default as x} from "module"
-
한 번에 가져오기는
import * as obj from "module"
-
한 번에 가져오는 건 모듈 번들링 최적화 수행 시 방해되므로 지양
-
모듈 가져오지만 변수에 할당하진 않을 때
import "module"
-
import/export 문은 스크립트의 맨 위나 맨 아래에 올 수 있지만 이 둘엔 차이 없음
-
import/export 문은 최상단 레벨에 위치해야 하며 블록 ({…}) 안에선 동작하지 않음