Terakhir diperbaharui: Oct 24, 2020
JavaScript Module
Semakin berkembang suatu aplikasi maka semakin banyak pula baris code yang ditulis, pada satu file JavaScript mungkin terdapat lebih dari 1000 baris code.
Agar lebih mudah dikelola, kita perlu memecah file JavaScript tersebut menjadi beberapa file JavaScript yang disebut module.
ℹ️ INFO
Silahkan download source code materi ES Module di sini untuk dieksekusi di VS Code.
Hal ini dikarenakan Repl.it menggunakan Node js dan Node js menggunakan CommonJS module dan belum sepenuhnya support ES module.
Export & Import
Kita bisa export function, variable, object atau semua yang ada dalam satu module untuk kemudian di import ke module yang lain.
⬆️ Export satu per satu
filename: profile.js
1export const dinoName = 'brachio';23export const sayHi = (name, message) => {4 console.log(`Hi ${name}, ${message}`);5};
⬇️ Import satu per satu
filename: main.js
1import { dinoName, sayHi } from './profile.js';23// run4sayHi(dinoName, 'How are you?');
⬆️ Export semua
1const dinoName = 'brachio';23const sayHi = (name, message) => {4 console.log(`Hi ${name}, ${message}`);5};67export {dinoName, sayHi};
⬇️ Import semua
1import * as profile from './profile.js';23console.log(profile.dinoName);4profile.sayHi(profile.dinoName, 'How are you?');
⬆️ Export dengan nama/alias
1const dinoName = 'brachio';23const sayHi = (name, message) => {4 console.log(`Hi ${name}, ${message}`);5};67export {dinoName as name, sayHi};
⬇️ Import dengan nama/alias
1import {name, sayHi as speak} from './profile.js';23// run4speak(name, 'How are you?');
⬆️ Default Export
Hanya satu default export per module.
1export const dinoName = 'brachio';23const sayHi = (name, message) => {4 console.log(`Hi ${name}, ${message}`);5};67export default sayHi;
⬇️ Import Default
Dengan import default, curly braces {} dapat dihilangkan saat import dan menggunakan nama yang berbeda.
1import speak from './profile.js';23// run4speak('brachio', 'How are you?');
Ilustrasi ES Module.