import
, 모듈 내보내기 export
둘 중 하나의 키워드가 있어야 자바스크립트의 모듈에 해당됨script
태그에 type="module"
속성이 있어야 활용가능함/* index.html */
<script type="module" defer src="./main.js"></script>
default
기본 내보내기export default 333
export const welcome = 'Welcome to the world of Poppy!';
export const numName = ['One', 'Two', 'Three'];
export function modulefn() {};
import
키워드는 javascript파일의 최상단에 위치해야함
import 기본내보내기(default)변수명지정, { welcome, numName, modulefn } from './module.js';
console.log(기본내보내기(default)변수명지정); // 333
console.log(welcome); // Welcome to the world of Poppy!
console.log(numName); // (3) ['One', 'Two', 'Three']
console.log(modulefn); // f modulefn() {}
as
키워드로 이름(변수명)을 변경할 수 있음import { welcome as hello } from './module.js';
console.log(hello); // Welcome to the world of Poppy!
import * as moduleAll from './module.js';
console.log(moduleAll);
// {default: 333, __esModule: true}
// default: 333
// modulefn: ƒ modulefn()
// numName: Array(3)
// welcome: "Welcome to the world of Poppy!"
// __esModule: true
// get modulefn: ()=>modulefn
// get numName: ()=>numName
// get welcome: ()=>welcome
// [[Prototype]]: Object
import('src').then(Parameter=>{});
then
메소드의 Parameter(매개변수 moduleAll
)로 가져올 모듈의 모든데이터를 받음(*)setTimeout(() => {
import('./module.js').then(moduleAll => {
console.log(moduleAll);
});
}, 1000);
async() => {const moduleAll = await import('src');}
moduleAll
에 가져올 모듈의 모든데이터(*)를 담음setTimeout(async () => {
const moduleAll = await import('./module.js');
console.log(moduleAll);
}, 1000);
// utils.js
// a모듈(a.js)와 b모듈(b.js)를 export키워드로 가져오자마자 내보냄
export { a } from './a.js';
export { b } from './b.js';
// main.js
// utils.js를 import해 a모듈(a.js)와 b모듈(b.js)을 각각 가져오지않고 한번에 가져오기함
import {a, b} from './utils.js';
console.log(a());
console.log(b());
🎮 패스트캠퍼스
프론트엔드 웹 개발의 모든 것 초격차패키지 Online.