Modul nomlar fazosi

ULASHISH

Modul nomlar fazosi obyekti

Sintaksisdan foydalanganda:

import * as name from "module";

JavaScript modulning nomlar fazosi obyektini yaratadi.

Bu moduldan barcha eksport qilingan ulanishlarni o‘z ichiga olgan o‘zgarmas obyekt.

Misol

The math module namespace object bundles all the exports (PI, add, multiply):
// math_module.js
export const PI = 3.14159;
export function add(a, b) {
  return a + b;
}
export function multiply(a, b) {
  return a * b;
}

Math_module.js faylini nom maydoni obyektiga import qiling:

import * as math from "./math_module.js";

// Now you can use the math namespace object:
let myPi = math.PI
let result1 = math.add(2, 3));
let result2 = math.multiply(2, 3));

O‘zingiz sinab ko‘ring »


Modul nomlar fazosini qo‘llab-quvvatlash

Modul nomlari maydonini qo‘llab-quvvatlash moduldan barcha eksportlarni yagona nom maydoni obyektiga import qilish imkonini beruvchi mexanizmga ishora qiladi.


Modul nomlari maydoni xususiyati ECMAScript 2015 da kiritilgan ES modullarining bir qismi bo‘lib, modullarni izchil tartibga solish va ulardan foydalanishga yordam beradi.

Modul nomlar fazosi imkoniyatlari

XususiyatTavsif
NamespaceModuldagi barcha eksportlarni o‘z ichiga olgan maxsus obyekt
Sintaksisimport * as name from module
PurposeModul eksportlarini xavfsiz tartibga solish, ularga murojaat qilish va havola qilish
Faqat o‘qish uchunSiz eksportga kirishingiz mumkin, lekin ularni qayta tayinlay olmaysiz
Live BindingAgar modulda eksport qilingan qiymat o‘zgarsa, nom maydoni avtomatik ravishda bu o‘zgarishni aks ettiradi
EnumerableUning xossalari sanab o‘tilgan va nomli eksportga mos keladi
prototipNomlar maydoni prototipi bo‘lmagan oddiy obyektdir (Object.getPrototypeOf(math) === null).


Tegishli sintaksis

import { add } from "./math_module.js";
import math from "./math_module.js";
import * as math from "./math_module.js";

Modul nomlar fazosini eksport qilish

Modul nom maydonini eksport qilish boshqa moduldan import qilingan modul nom maydoni obyektini eksport qilishni anglatadi.

Nomlar fazosini eksport qilish

Odatda, modulning barcha eksportlarini modul nom maydoni obyektiga quyidagi kabi import qilasiz:

Misol

import * as math from "./math_module.js";

let myPi = math.PI;
let result = math.add(2, 3);
The math module namespace object bundles all the exports (PI, add, multiply):
// math_module.js
export const PI = 3.14159;
export function add(a, b) {
  return a + b;
}
export function multiply(a, b) {
  return a * b;
}

O‘zingiz sinab ko‘ring »

Modul nom maydoni eksporti bilan siz o‘zingizning modulingizdan ushbu nom maydonini avval import qilmasdan qayta eksport qilishingiz mumkin:

Now, you can create a new module that re-exports this whole namespace:

utilities.js

export * from "./math_module.js";
Then, in another file:

Misol

import * as math from "./utilities.js";

O‘zingiz sinab ko‘ring »

ECMAScript 2020 da "modul" nomi sifatida eksport * sintaksisi qo‘shildi.

Sintaksisga umumiy nazar

SintaksisNatija
export * from "module"Barcha nomlangan eksportlarni alohida-alohida qayta eksport qilish (nomlar fazosi sifatida emas)
export * as name from "module"Barcha eksportlarni bitta nomlar fazosi ostida guruhlab qayta eksport qilish
export { name } from "module"Re-export specific exports

Agregator skriptlar

Agregator skripti faqat boshqa modullardan elementlarni import qilish va qayta eksport qilish uchun foydalaniladigan skriptdir.

Yuqori modulingizni ko‘plab import operatorlari bilan to‘ldirish o‘rniga, barchasini bajarish uchun bitta agregator skriptidan foydalanishingiz mumkin.


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!