[JavaScript] Default Export 와 Named Export 비교

2021. 8. 28. 19:35·JavaScript
반응형

서론

큰 이유 없이 둘을 혼용하여 사용하고 있다는 것을 느끼고, 둘의 차이를 비교하여 내 코드에 적용하기 위해 정리를 하게 되었다.


Default Export

Default Export는 딱 한개만 default export 할 수 있기 때문에 '메인'이라고 할 수 있는 것을 export 하는 것이 좋다.

object, function, class 등이 될 수 있다.

 

// import 
import DefaultValue from "./MyDefaultValue";

// export
const DefaultValue = () => {}
export default DefaultValue

 

Default Export 특징

import 시 원하는 변수명을 지정해줄 수 있다.

 

// import 
import DefaultValuelalala from "./MyDefaultValue";

//or

import Something from "./MyDefaultValue";

// export
const DefaultValue = () => {}
export default DefaultValue

 

var, let, const를 바로 export default 할 수 없다. 
// O
export default function test() {}

// X
export default const test = () => {}

Named Export

한 파일 내에서 여러 값을 export 할 때 유용하다.

API를 모듈화 하여 사용하기 용이하다.

 

// export 
// myFunction.js
export const firstFunction = () => { }
export const secondFunction = () => { }

// myClass.js
export class firstClass { }
export class secondClass { }

// import 
import { firstFunction, secondFunction } from './myFunction'
import { firstClass, secondClass } from './myClass'

 

Named Export 특징

export된 이름을 사용하여 import 해야 한다.

 

// export 
// myFunction.js
export const x = () => { }
export const y = () => { }

// import 
import { x, y } from './myFunction' // 동일하게 사용

 

다른 이름으로 사용하기 위해선 as를 이용하면 된다.
// export 
// myFunction.js
export const x = () => { }
export const y = () => { }

// import 
import { x as firstFunction, y as secondFunction} from './myFunction' 
// → firstFunction, secondFunction 명으로 사용

어떤 것을 사용하는 것이 유용한가?

정해진 규칙은 없는것 같다, 서로에게 잘 맞는 것을 사용하면 될 것이라 생각한다.

또는, 자신이 속해있는 팀, 그룹, 회사의 스타일에 따라 동일하게 작성하면 될 것 같다.

 


참고자료

https://medium.com/@_diana_lee/default-export%EC%99%80-named-export-%EC%B0%A8%EC%9D%B4%EC%A0%90-38fa5d7f57d4

 

default export와 named export 차이점

들어가며

medium.com

https://velog.io/@eunjin/React-Default-Export-vs-Named-Export

 

[React] Default Export vs Named Export

협업을 하면서 다른 팀원들의 코드를 살펴보고 내 코드에 적용할 기회가 아주 많아졌다. 오늘 정리해보고 싶은 포인트는 default export와 named export의 차이점이다.

velog.io

 

반응형
저작자표시 비영리 변경금지 (새창열림)
'JavaScript' 카테고리의 다른 글
  • [JavaScript] 기본형 데이터와 참조형 데이터의 변수 복사 비교
  • [JavaScript] 기본형 데이터와 참조형 데이터 비교
  • [JavaScript] Ajax, Axios, fetch 용어 정리 및 장/단점 비교
  • [JavaScript] npm install [패키지 명] --save와 --save -dev의 의미
꾸매코더
꾸매코더
웹 / 앱 개발자
  • 꾸매코더
    꾸매코딩
    꾸매코더
  • 전체
    오늘
    어제
    • 분류 전체보기 (96)
      • JavaScript (18)
        • Deep Dive (0)
      • React (5)
      • React-Native (9)
      • CSS (3)
      • TypeScript (1)
      • CS (10)
      • GitHub (4)
      • Clone Coding (15)
        • Kakaotalk [HTML + CSS] (10)
        • Momentum [JavaScript] (5)
      • Project (30)
        • Timer Project (14)
        • Netflix [React + Hooks] (12)
        • ToDoList [React-Native] (4)
      • 회고 (1)
  • 링크

    • Github
  • hELLO· Designed By정상우.v4.10.3
꾸매코더
[JavaScript] Default Export 와 Named Export 비교
상단으로

티스토리툴바