ES6 Модулиуд (import/export)
Том проект дээр ажиллахад бүх кодыг нэг файлд бичэх нь тохиромжгүй болдог. ES6 модулиуд нь кодыг тусдаа файлуудад хувааж, хэрэгтэй үедээ import хийн ашиглах боломжийг олгодог. Үүний ачаар код цэгцтэй, дахин ашиглагдах чадвартай болно.
export — файлаас гадагш гаргах
export түлхүүр үгийг функц, class, хувьсагчийн өмнө бичвэл тухайн зүйл өөр файлаас import хийх боломжтой болно.
// utils.js
export function нэмэх(а, б) {
return а + б;
}
export function хасах(а, б) {
return а - б;
}
export const PI = 3.14159;
Эсвэл файлын доод хэсэгт нэг дор экспортлож болно:
// utils.js
function нэмэх(а, б) {
return а + б;
}
function хасах(а, б) {
return а - б;
}
const PI = 3.14159;
export { нэмэх, хасах, PI };
import — өөр файлаас авах
import ашиглан өөр файлын экспортуудыг өөрийн файлдаа оруулна.
// main.js
import { нэмэх, хасах, PI } from "./utils.js";
console.log(нэмэх(10, 5)); // 15
console.log(хасах(10, 5)); // 5
console.log(PI); // 3.14159
Нэрийг өөрчилж оруулах шаардлага гарвал as ашиглана:
import { нэмэх as sum, PI as pi } from "./utils.js";
console.log(sum(3, 4)); // 7
console.log(pi); // 3.14159
export default — үндсэн экспорт
Нэг файлаас зөвхөн нэг зүйлийг default болгон экспортолж болно. Import хийхдээ хашилтгүйгээр, хүссэн нэрээрээ авна.
// Хэрэглэгч.js
export default class Хэрэглэгч {
constructor(нэр, имэйл) {
this.нэр = нэр;
this.имэйл = имэйл;
}
танилцуулах() {
console.log(`${this.нэр} — ${this.имэйл}`);
}
}
// main.js
import Хэрэглэгч from "./Хэрэглэгч.js"; // хашилтгүй, нэрийг чөлөөтэй өгнө
const болд = new Хэрэглэгч("Болд", "bold@example.mn");
болд.танилцуулах(); // Болд — bold@example.mn
Бүх зүйлийг нэг дор import хийх
Файлын бүх экспортыг нэг объект болгон авахдаа * as ашиглана:
// main.js
import * as Тооцоо from "./utils.js";
console.log(Тооцоо.нэмэх(2, 3)); // 5
console.log(Тооцоо.PI); // 3.14159
Модулийн бодит хэрэглээ
Жинхэнэ проектод файлуудыг үүрэгээр нь ангилна:
// helpers/формат.js
export function мөнгө_формат(дүн) {
return `${дүн.toLocaleString()}₮`;
}
export function огноо_формат(огноо) {
return new Date(огноо).toLocaleDateString("mn-MN");
}
// main.js
import { мөнгө_формат, огноо_формат } from "./helpers/формат.js";
console.log(мөнгө_формат(2_500_000)); // 2,500,000₮
console.log(огноо_формат("2025-01-15")); // 2025.01.15
Модулиудыг ашигласнаар кодын аль хэсэг юу хийдгийг нэрлэх боломжтой болж, команд болгон хайх, ойлгох, засах нь хялбар болно.
Дараагийн хичээлд:
Iterator ба Generator — давтагдах боломжтой (iterable) объект хэрхэн бүтээх, yield түлхүүр үгийг хэрхэн ашиглах талаар үзнэ.