Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions 6-1_iterable과 Map & Set/홍길동.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

70 changes: 70 additions & 0 deletions Part2/02-모듈 내보내고 가져오기/김재승.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# part2-2 주차 모듈, 모듈 내보내고 가져오기

## 모듈

### 모듈이란?
모듈은 파일하나를 뜻하고,
파일내의 변수, 함수, 클래스를 export로 내보내고, 다른 파일에서 import로 가져와서 사용한다.

### 모듈의 특징
항상 strict mode로 사용되고,

모듈 스코프를 가져 전역을 오염시키지 않고

단 한 번만 실행하여 동일한 객체를 공유하고

import.meta로 모듈 정보 확인을 가능하다

(this의 경우 undefined를 반환 일반 스크립트와의 차이)

### 브라우저 내에서의 모듈
```
<script type ="module">
```
로 명시하여야하고

defer로 지연 실행

- HTML 파싱이 끝난 뒤에 실행
- 순서는 위에서부터 실행 보장

로컬 파일에서는 작동하지 않아 서버가 필요하다

외부 도메인 모듈 로드시 CORS 허용해야함

구형 브라우저도
```
<script nomodule>
```
로 대체 코드 제공이 가능하다

## 모듈 내보내고 가져오기

### export 하는법 (내보내기)
선언 앞에 export를 붙히는 방법 (클래스와 함수 내보낼시에 세미콜론이 붙지 않음)

선언과 분리해서 export 하는 방법

### import의 기본
필요한것만 가져오기

모두 가져오기

### as로 이름변경 가능
가져올 때 이름 변경

내보낼 때 이름 변경 가능

### export default (기본 내보내기)
모듈에게 주요 개체 1개만 있을 때 사용가능

이름 없는 클래스, 함수, 값도 export default 가능함

한 파일에 하나만 가능

파일명과 동일한 이름으로 가져오도록 권장

### Re-export
가져온 모듈을 다시 내보내는것

패키지에서 외부에 공개할 것을 정리할때 유용하다