less than 1 minute read

  • 모듈은 하나의 파일

  • 모듈 내 함수나 객체는 export 키워드로 내보낼 수 있고 내보내진 코드는 import 키워드로 사용

  • 브라우저에서 import/export 지시자 사용하려면 <script type="module"> 같은 속성 필요

  • 모듈은 HTTP(s) 를 통해서만 동작함 (로컬은 안 됨)

  • 모듈은 지연 실행, 인라인 모듈 스크립트도 비동기 처리(async 속성 붙었을 시 내부 코드 작업 끝나면 바로 실행), 외부 오리진에서 스크립트에서 불러올 시 CORS 헤더 필요, 중복된 외부 스크립트 는 한 번만 실행되며 그 다음은 무시됨

  • 모듈은 자신만의 스코프 가짐

  • import.meta 객체는 현재 모듈에 대한 정보 제겅해주며 호스트 환경에 따라 제공하는 정보 다름

  • 모듈 최상위 레벨의 this 는 undefiend(전역 객체가 아님)

  • 항상 엄격 모드(use strict)로 실행됨

  • ‘경로가 없는’ 모듈은 금지됨

  • nomodule 로 모듈 지원하지 않는 환경 브라우저 대처 가능

  • 모듈 내 코드는 단 한 번만 실행되며 모듈 내보낼 시 이 모듈을 가져오기 하는 모듈 모두가 내보내진 모듈 공유(변경점 다른 모듈에서도 공유)

  • 브라우저는 자동으로 스크립트를 불러오고 평가

  • 성능 개선 등의 이점 떄문에 웹팩과 같은 번들러(빌드 툴) 사용 많이 함

Categories: ,

Updated: