카페 매뉴 앱 만들기 HTML을 살펴보는데,
굳이 script태그에 script type = "module"을 기재하는 것을 보았다.
모듈은, 프로젝트 규모가 커졌을 때 파일을 분리할 때 JS파일 하나를 하나의 모듈이라 했다.
그렇기에 그냥 미기재 또는 text/javascript와 module 차이가 무엇일까? 궁금했다.
먼저 가장 큰 차이는 export import 를 하지 못한다.
브라우저에서 import ,export 지시자를 사용하려면 <script type="module">같은 속성이 필요했다.
모듈은 자신만의 스코프를 갖는다. 그렇기에 이를 공유하려면 위의 import, export를 활용해야했다.
항상 엄격 모드로 실행(use strict)되었다. 선언되지 않은 변수에 값을 할당하는 등의 코드는 에러를 내뿜었다.
직접 겪어 본 바는 이정도이고, 더 알아보니,
- 지연 실행됩니다.
- 인라인 모듈 스크립트도 비동기 처리 할 수 있습니다.
- 외부 오리진(도메인이나 프로토콜, 포트가 다른 오리진)에서 스크립트를 불러오려면 CORS 헤더가 있어야 합니다.
- 중복된 외부 스크립트는 무시됩니다.
와 같은 내용이 있었고, 아래 홈페이지에 자세하게 정리되어있다.
https://ko.javascript.info/modules-intro
'언어 > Javascript' 카테고리의 다른 글
es6 화살표 함수 특징 3가지 + reduce함수 (0) | 2022.08.02 |
---|---|
IIFE 즉시실행함수 와닿는 특징. (0) | 2022.08.02 |
비동기 : 마이크로태스크 큐 메크로테스크 큐 (0) | 2022.07.29 |
this는 호출될 때 결정된다. (0) | 2022.07.27 |
[클린코드 javascript] 분기로 보여지기 쉬운 코드 만들기(분기 다루기) (0) | 2022.07.26 |