JavaScriptте import жана export операторлору кантип иштейт?
sobes.tech AI
AIден жооп
JavaScript-те import жана export операторлору модулдар менен иштөө үчүн колдонулат, кодду көзкарандысыз, көп жолу колдонулчу бөлүктөргө бөлүп, алардын ортосундагы көзкарандылыктарды башкарууга мүмкүндүк берет.
export
export оператору модулдан өзгөрмөлөрдү, функцияларды, класстарды же башка маанилерди экспорттоо үчүн колдонулат. Экспорт аталыштуу же экспорт боюнча негизделиши мүмкүн.
Аталыштуу экспорт:
// module.js
export const myVariable = 10;
export function myFunction() { // ... }
export class MyClass { // ... }
Негизделген экспорт: модулда бир гана негизделген экспорт болушу мүмкүн.
// module.js
const defaultValue = 'default value';
export default defaultValue;
import
import оператору башка модулдардан экспорттолгон маанилерди импорттоо үчүн колдонулат.
Аталыштуу импорт:
// another-module.js
import { myVariable, myFunction } from './module.js';
Башка ат менен импорт:
// another-module.js
import { myVariable as newVariableName } from './module.js';
Бардык аталыштуу экспортторду объект түрүндө импорттоо:
// another-module.js
import * as moduleAlias from './module.js';
// Кирүү: moduleAlias.myVariable, moduleAlias.myFunction
Негизделген экспортту импорттоо:
// another-module.js
import defaultValueName from './module.js';
Аталыштуу жана негизделген экспортту бирге импорттоо:
// another-module.js
import defaultValueName, { myVariable, myFunction } from './module.js';
Иш принциптери:
- Статикалык анализ: JavaScript-движок
importжанаexportоператорлорун кодду компиляциялоо учурунда анализ кылат, модулдар арасындагы көзкарандылыктардын графин түзөт. - "Живые" байланыстар: Импорттолгон өзгөрмөлөр — экспорттоочу модулдун маанилеринин көчүрмөсү эмес. Алар — "живые" байланыстар (живые шилтемелер) оригиналдуу модулдан. Эгер экспорттоочу модулда мааниде өзгөрүү болсо, ал импорттолгон байланыс аркылуу көрүнөт.
- Бир жолу аткарылуу: Ар бир модулдин коду биринчи жолу импорттолгондо гана аткарылат. Экспорттун натыйжалары кэштелип, кийинки импорттордо колдонулат.
- Контекстте колдонуу: Модулдар өзүнүн контекстинде аткарылат, глобалдык чөйрөдөн ажырап. Модулда жарыяланган өзгөрмөлөр глобалдык аталыштарга киргизилбейт, эгер алар ачык экспорттолбосо.