JS ES modullari
Modullar nima?
Modullar Function va qiymatlarni eksport va/yoki import qila oladigan kod bloklaridir.
// Export an "add" function
export function add(a, b) {
return a + b;
}
// Import an "add" function
import { add } from './math.js';
let result = add(2, 3);
Modullar kodni alohida fayllarga ajratish imkonini beradi.
Modullar zamonaviy JavaScript-ning asosiy xususiyatidir.
Modul fayllari
JavaScript moduli odatda fayldir, lekin u HTML skripti ham bo‘lishi mumkin.
Modul fayli import/eksportdan foydalanadigan .js faylidir.
Modul skripti import/eksportdan foydalanadigan HTML skriptidir.
Modullardan qanday foydalanish kerak
Modullar o‘zaro funksionallik almashish uchun export va import’dan foydalanadi.
type="module" dan foydalanadigan HTML skripti modul sifatida qabul qilinadi:
Modul fayli "math.js:
// Export an "add" function
export function add(a, b) {
return a + b;
}
Modul skripti:
<script type="module">
// Import the add function
import { add } from './math.js';
let result = add(2, 3);
</script>
O‘zingiz sinab ko‘ring »
Modul fayllari serverda saqlanishi kerak.
Modullar faqat HTTP(lar) protokoli bilan ishlaydi.
file:// protokoli orqali ochilgan veb-sahifa import/eksportdan foydalana olmaydi.
Modul fayli "person.js"
// Export name and age
export const name = "Jesse";
export const age = 40;
Modul skripti
<script type="module">
// Import name and age
import { name, age } from "./person.js";
</script>
Modullar eksport qilishi mumkin
- O‘zgaruvchilar
- Functionlar
- Obyektlar
- Klasslar
Modul fayli "message.js"
const message = () => {
const name = "Jesse";
const age = 40;
return name + ' is ' + age + 'years old.';
};
export default message;
Modul skripti:
<script type="module">
import message from "./message.js";
</script>
Modullar sukut bo‘yicha qat’iy rejimda ishlaydi.
Nima uchun modullar?
- Modullar kodni tartibga solishga yordam beradi. Modullar katta kod bazalarini har biri ma’lum bir vazifaga qaratilgan kichik o‘z ichiga olgan fayllarga bo‘lish imkonini beradi. Modullar katta va murakkab ilovalar uchun zarurdir.
- Modullar nomlash ziddiyatlarini oldini oladi. Modullardan oldin ishlab chiquvchilar faqat global miqyosga ega edilar, bu esa "nomlar maydonining ifloslanishiga" olib kelishi mumkin edi, bu yerda bog‘liq bo‘lmagan kod tasodifan boshqa global o‘zgaruvchilarning ustiga yozishi mumkin. Modullar shaxsiy doiraga ega. O‘zgaruvchilar va funksiyalar, agar aniq eksport qilinmasa, global miqyosda oshkor etilmaydi.
- Modullar yaxshi o‘qilishi mumkin Modullar kodni tashkil qilishni yaxshilaydi, ayniqsa yirik loyihalar yoki jamoaviy muhitda harakatlanish, tushunish va boshqarishni osonlashtiradi.
- Modullar dasturning turli qismlarida va butunlay yangi loyihalarda osongina qayta ishlatiladi. Modullar Functionlar, o‘zgaruvchilar yoki obyektlarni bitta fayldan eksport qilish va ularni boshqa fayllar yoki loyihalarga import qilish orqali qayta foydalanishni ta’minlaydi. Bu ortiqcha kodni yo‘q qiladi va yanada samarali ishlab chiqish jarayoniga yordam beradi. Modul loyihaning turli qismlarida yoki butunlay yangi loyihalarda osongina qayta ishlatilishi mumkin. Bu kodning takrorlanishini kamaytiradi va vaqtni tejaydigan "O‘zingni takrorlama" (QURUQ) tamoyilini targ‘ib qiladi.
- Modullarni saqlash va debug qilish osonroq. Kodni alohida modullarga bo‘lish orqali dasturning bir qismidagi o‘zgartirishlar yoki xatolarni tuzatish tizimning boshqa qismlariga ta’sirini minimallashtirib, ma’lum bir modulga ajratilishi mumkin. bu loyiha o‘sishi bilan kodlar bazasini saqlash va kengaytirishni osonlashtiradi. Modullar bir nechta ishlab chiquvchilarga kodlar bazasining turli qismlarida bir vaqtning o‘zida kamroq ziddiyat xavfi bilan ishlash imkonini beradi. Modul chegaralarini aniq belgilash aloqani yaxshilaydi va mavjud kodga minimal ta’sir ko‘rsatadigan yangi xususiyatlarni qo‘shishni osonlashtiradi.
- Modullar yaxshi inkapsulyatsiya va izolyatsiyaga ega. Modul ichida aniqlangan o‘zgaruvchilar va Functionlar sukut bo‘yicha shaxsiy bo‘lib, faqat ochiq eksport qilinganda boshqa modullar uchun ochiq bo‘ladi. Bu kod izolyatsiyasini kuchaytiradi, kutilmagan nojo‘ya ta’sirlar xavfini kamaytiradi va kodni tushunishni osonlashtiradi.
- Modullar qaramlikni yaxshiroq boshqarishga ega. Modullar bog‘liqliklarni boshqarish uchun aniq import va eksport operatorlaridan foydalanadi. Bu ilovaning turli qismlari orasidagi munosabatlarni tushunishni va tashqi kutubxonalar yoki komponentlarni boshqarishni osonlashtiradi. Modullar skriptlarning to‘g‘ri tartibda yuklanishini ta’minlash uchun eski, qo‘lda ishlov berish jarayoniga qaraganda ancha ishonchli.
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
