Sobes.tech
Junior

ES модулдары эмне?

sobes.tech AI

AIден жооп

ES-модулдер — бул JavaScript кодун уюштуруунун стандарттык жолу, ал import жана export синтаксиси негизделген.

Негизги өзгөчөлүктөрү:

  • Стандарт: ECMAScript спецификациясынын бир бөлүгү, ал көбүрөөк заманбап браузерлер жана ишке ашыруу чөйрөлөрү, мисалы Node.js тарабынан колдоого алынган.
  • Ачык көзөмөлдөө: Модулдар кайсы маанилерди экспорттой турганын жана кайсылдарын башка модулдардан импорттой турганын так көрсөтөт.
  • Статикалык структура: Модулдардын көзөмөлдөрү компиляция (же парсинг) этабында аныкталат, ишке ашырылуу учурунда эмес.
  • Изоляция: Модулдун ичинде жарыяланган ар бир өзгөрмө, функция же класс, әдепки, ошол модулдун жергиликтүү болуп саналат. Алар сырттан жеткиликтүү болушу үчүн ачык экспорттолушу керек.
  • Асинхрондуулукту колдоо: Модулдар браузерлерде асинхрондуу жүктөлө алат, баракчаны жүктөөдө тоскоолдук кылбайт.

Синтаксис:

  • Экспорт:
    // app.js
    export const myVariable = 123; // Аты менен экспорттоо
    export function myFunction() { // Аты менен экспорттоо
      console.log('Hello from module!');
    }
    export default class MyClass { // Өзүнчө экспорт
      constructor() {
        console.log('MyClass instance created');
      }
    }
    
  • Импорт:
    // main.js
    import { myVariable, myFunction } from './app.js'; // Аты менен импорттоо
    import MyDefaultClass from './app.js'; // Өзүнчө импорт
    
    console.log(myVariable); // 123
    myFunction(); // Hello from module!
    const instance = new MyDefaultClass(); // MyClass объектисин түзүү
    

CommonJS менен салыштыруу (Node.js):

Өзгөчөлүк ES-модулдер CommonJS
Синтаксис import, export require, module.exports, exports
Тасымалдар Статикалык (ишке ашырылгандан алдын аныкталган) Динамикалык (ишке ашырылгандан кийин аныкталган)
Жүктөө Асинхрондуу (браузерлерде) Синхрондуу
this негизги undefined module.exports
Колдоо Браузерлер, Node.js (негизинен 13.2 версиясинен баштап, --experimental-modules флагы менен мурда) Башкача Node.js

ES-модулдерди колдонуу — заманбап фронтенд өнүктүрүүдө стандартташтырылган, инструменттер тарабынан жакшы колдоого алынган жана статикалык талдоо мүмкүнчүлүгүн камсыз кылган ыкма.