인프런 커뮤니티 질문&답변

mememe_0님의 프로필 이미지
mememe_0

작성한 질문수

프론트엔드 개발환경의 이해와 실습 (webpack, babel, eslint..)

엔트리/아웃풋 실습

import해오는 두가지 방법에 대해 제가 잘 이해한건지 확인받고 싶습니다!!

해결된 질문

작성

·

274

0

강사님께서, 수업중에 import해오는 방법을 두가지를 언급하셨는데요,

import * as math from './math.js'; // [방법1] 모든 export를 math라는 객체로 가져오기
import { sum } from './math.js'; // [방법2] sum함수만 가져오기

방법1로 import할 경우, sum함수를 사용하기 위해서 math.sum(,) 이렇게 써야하지만,

방법2로 import할 경우, 그냥 바로 sum(,)으로 사용하면 되나요?

저는 일단 그렇게 이해하고 있는데

그러면

import * as math1 from './math1.js'; 
import * as math2 from './math2.js';

이렇게 math1.js와 math2.js에서 각각 sum함수를 만들고, 그걸 app.js에서 위와 같이 import해서 사용했을 때,

math1.sum(,) 그리고 math2.sum(,) 이렇게 쓰면 되니깐, 이름이 sum으로 같아도 충돌이 안나겠네요?

 

그러나 방법2방식으로

import { sum } from './math1.js'; 
import { sum } from './math2.js';

이렇게 가져온다면, 둘다 sum(,)으로 호출하게 되니깐, 이름 충돌이 발생하겠네요?

제가 이해한것이 맞는지 확인부탁드려요ㅠㅠ

답변 1

0

김정환님의 프로필 이미지
김정환
지식공유자

네 맞습니다.

마지막 경우 모듈을 불러올때 이름을 바꿔서 가져오면 이름 충돌을 해결할 수 있어요.

import { sum as math1Sum } from './math1.js'
import { sum as math2Sum } from './math2.js'

mememe_0님의 프로필 이미지
mememe_0
질문자

아하...!! 이름을 바꿔서 불러올 수 있군요!! 답변 너무 감사합니다~👍👍😊

mememe_0님의 프로필 이미지
mememe_0

작성한 질문수

질문하기