• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    해결됨

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

23.06.14 12:08 작성 조회수 198

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

질문자

2023.06.16

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