cbw1030
기록하는 공간
cbw1030
전체 방문자
오늘
어제
  • 전체보기 (101)
    • Programming (99)
      • Java (19)
      • Servlet (10)
      • Spring Framework (13)
      • Javascript (22)
      • AWS (2)
      • 네트워크 (8)
      • 데이터베이스 (13)
      • 리눅스 (3)
      • 블록체인 (7)
      • 용어 정리 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • web
  • Brightics Studio
  • javascript
  • 브라이틱스 스튜디오
  • 데이터 사이언스
  • 인공지능
  • 삼성SDS
  • 생활코딩
  • react
  • 브라이틱스 튜토리얼
  • Brightics
  • 삼성SDS 브라이틱스
  • 머신러닝
  • 브라이틱스
  • 크롤링
  • 브라이틱스 스튜디오 사용법
  • 차원축소
  • Brightics AI
  • 데이터분석
  • beautifulsoup

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
cbw1030

기록하는 공간

[Javascript] ES6 export, import
Programming/Javascript

[Javascript] ES6 export, import

2021. 1. 8. 12:46
반응형

 

안녕하세요. 이번 포스팅은 export, import에 대해 알아보겠습니다.

 

ES6에서는 export, import를 사용하여 자바스크립트가 모듈화를 할 수 있는 기능을 제공합니다.

 

export는 두 가지 방법이 있다.

export default, (named)export

 

우선 export 예제를 보겠습니다.

// module1.js

export default function test() {
    console.log('module1 test');
}

export function test1() {
    console.log('module1 test1');
}

export function test2() {
    console.log('module1 test2');
}

이것을 아래와 같이 사용할 수도 있습니다.

// module1.js

function test() {
    console.log('module1 test');
}

function test1() {
    console.log('module1 test1');
}

function test2() {
    console.log('module1 test2');
}

export default test;
export {test1, test2};

 

export default와 export의 차이

main.js와 module1.js는 같은 경로에 위치한다고 가정하겠습니다.

export default로 내보낸 것은 하나의 변수로 받아서 사용할 수 있습니다.

// main.js
import test from './module1.js';

from에는 현재경로를 의미하는 것을 꼭 붙여야 작동됩니다.

module1.js에서 export default를 한 test를 test가 받아서 사용합니다.

 

사용할 변수는 이름을 원하는대로 지어도 됩니다.

// main.js
import f1 from './module1.js';

 

export는 내보낼 때 export 객체 형태로 내보냅니다. 객체형태이기 때문에 object destructuring을 활용하여 접근이 가능합니다.

// main.js
import {test1, test2} from './module1.js';

 

export로 내보내는 이름과 import하는 이름이 동일해야 합니다. 하지만, 별칭을 사용하면 원하는 이름도 가능합니다.

// main.js
import {test1 as t1, test2 as t2} from './module1.js';

 

그런데 만약 module1.js에 export로 내보내는 함수가 100개(test1, test2, ..., test100)라 가정해 보겠습니다.

그렇다면 위의 내용을 기반으로 본다면 다음과 같이 import를 해야 합니다.

// main.js
import {test1, test2, test3, ..., test100} from './module1.js';
또는
import {test1 as t1, test2 as t2, ..., test100 as t100} from './module1.js';

 

이러한 반복을 방지하기 위해 다음과 같은 문법을 사용할 수 있습니다.

// main.js
import * as module1 from './module1.js';

// 호출하는 방법
module1.test1();
module1.test50();
module1.test100();
반응형
저작자표시 (새창열림)

'Programming > Javascript' 카테고리의 다른 글

fetch API를 사용하여 코드 라인 수를 줄여보자  (0) 2021.05.13
[Javascript] ES6 async & await  (0) 2021.01.10
[Javascript] ES6 Promise를 통해 콜백지옥 문제를 해결해보자  (0) 2021.01.06
[Javascript] ES6 Destructuring 문법에 대해 알아보자  (0) 2020.12.30
[Javascript] 이벤트 트리거를 사용하여 input 속성을 커스터마이징 해보자!  (0) 2020.12.30
    'Programming/Javascript' 카테고리의 다른 글
    • fetch API를 사용하여 코드 라인 수를 줄여보자
    • [Javascript] ES6 async & await
    • [Javascript] ES6 Promise를 통해 콜백지옥 문제를 해결해보자
    • [Javascript] ES6 Destructuring 문법에 대해 알아보자
    cbw1030
    cbw1030

    티스토리툴바