Front-End/Javascript

[javascript] import 할 때 중괄호{} 의 유무 차이

찐코딩 2023. 3. 10. 09:38

vue나 reate 등등 예제코드 상단에 import 구문은 다음과 같이 두가지 케이스를 볼 수 있다

 

1. import { a } from '경로' 

2. import   a   from '경로'

 

어떨때 중괄호를 넣고 어떨 때 변수만 지정을 할까?

바로 export 문법에 따라 결정된다.


export 방식에는 이름을 지정해서 내보내기 방법(named)

기본(default) 내보내기 방법이 있다.

/*유명(named) 내보내기*/
// 먼저 선언한 식별자 내보내기
export { myFunction, myVariable };

// 각각의 식별자 내보내기
// (변수, 상수, 함수, 클래스)
export let myVariable = Math.sqrt(2);
export function myFunction() { ... };



/*기본(default) 내보내기*/
// 먼저 선언한 식별자 내보내기
export { myFunction as default };

// 각각의 식별자 내보내기
export default function () { ... };
export default class { ... }

 

모듈 하나에서, 유명(named) 내보내기는 여러 개 존재할 수 있지만

기본 내보내기(default)는 하나만 가능하다.

 

따라서 javascript 모듈 하나에서 필요한 하나의 유명(named) 멤버만 import 하고 싶을 때

중괄호를 통해 import 하는 것이다.

 

모듈에서 하나의 멤버만 가져옵니다. 현재 범위 내에 myMember 이 들어갑니다.

import {myMember} from "my-module.js";

 

모듈에서 여러 멤버들을 가져옵니다. 현재 범위 내에 foo 와 bar 이 들어갑니다.

import {foo, bar} from "my-module.js";

 

기본 내보내기(default)된 export 모듈은 중괄호 없이 import가 가능하다.

import myModule from "my-module.js";

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/export

 

export - JavaScript | MDN

export 문은 JavaScript 모듈에서 함수, 객체, 원시 값을 내보낼 때 사용합니다. 내보낸 값은 다른 프로그램에서 import 문으로 가져가 사용할 수 있습니다.

developer.mozilla.org

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/import

 

import - JavaScript | MDN

정적 import 문은 다른 모듈에서 내보낸 바인딩을 가져올 때 사용합니다.

developer.mozilla.org