먼저 설명하기에 앞서, 이것은 자바스크립트에서 모듈을 내보내는 것에 대한 이야기다.
학원에서 배울 때는, 사용할 일이 아예 없었지만, 회사에 들어오고나서 처음 직면했던 것이기도 하다.
대부분 학원에서는 default export를 사용 했다.

## default export
default 라는 단어를 보면 알 수 있듯이.. 이놈을 기본으로 내보낸다는 뜻이다.
모듈에서 해당 하는 객체를 항상 기본으로 내보낸다는 뜻이다.

const 비행기 = {
  name: '제트기',
  cos: 11111,
}

export default 비행기


이렇게 내보낸 `비행기`는 사용할 때도 다르다. default로 내보냈기 때문에
자바스크립트는 안다. 이놈이 default라는 것을

import 나비행기아닌데 from './helpers/defaultExport'


나 '비행기아닌데'라고 정의했지만, 비행기를 default로 불러온다.
이름은 중요하지않다. 자바스크립트는 너를 이미 비행기로 알고 있기 때문이다.

## named export
default export와는 반대로 자바스크립트가 모듈에서 무엇을 내보내고 있는지 알 수 없다.
그렇기 때문에 { } 중괄호에서 모듈에서 정의한 객체를 명시해야한다.

import { 사람, 동물 } from './helpers/namedExport'


이외에도 정의한 객체에 별칭을 지어 사용할수도 있다.

import { 사람 as 사람이아님 } from './helpers/namedExport'


객체처럼 닷 어노테이션으로 접근할 수도 있다.

import * as 접근 from './helpers/namedExport'


사용할 때는 접근이라는 별칭에 닷 어노테이션으로 접근하여 동물을 불러 올 수 있다.
`접근.동물`

또한 내보내기를 담당하는 파일을 만들어, 모듈 자체를 내보낼 수 있다.

export * from './defaultExport'


이 구문은 named export 구문으로만 사용할 수 있다. 

주로 사용할 때, 
어떤 모듈을 만들면, 그 모듈을 가지고있는 폴더에 내보내기 역할을 하는 파일을 만들어, 통으로 내보내고,
중괄호 안에서 특정 메서드를 가져와 사용했다.

 

 

+ Recent posts