해결된 질문
작성
·
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'
아하...!! 이름을 바꿔서 불러올 수 있군요!! 답변 너무 감사합니다~👍👍😊