Sobes.tech
Junior

JavaScript-те import және export операторлары қалай жұмыс істейді?

sobes.tech AI

AI-дан жауап

import және export операторлары JavaScript-те модульдермен жұмыс істеу үшін пайдаланылады, олар кодты тәуелсіз, қайта қолданылатын бөліктерге бөлуге және оларға тәуелділіктерді басқаруға мүмкіндік береді.

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';

Жұмыс принциптері:

  1. Статикалық талдау: JavaScript қозғалтқышы import және export операторларын компиляция кезінде (код орындалмай тұрып) талдайды, модульдер арасындағы тәуелділік графын құрады.
  2. "Тірі" байланыстар: Импортталған айнымалылар экспорттаушы модульдің мәндерінің көшірмелері емес, олар тірі байланыстар (тірі сілтемелер). Егер экспорттаушы модульдегі айнымалының мәні өзгерсе, бұл өзгеріс импортталған байланыс арқылы көрінеді.
  3. Бір рет орындалу: Әрбір модульдің коды тек бір рет орындалады, ол бірінші импорт кезінде орындалады. Нәтижелері кэштеледі және кейінгі импорттарда пайдаланылады.
  4. Контекстте қолдану: Модульдер өздерінің жеке контекстінде орындалады, глобальды аймақтан оқшауланған. Модульдің түбірінде жарияланған айнымалылар әдейі экспортталмаса, глобальды кеңістікке ластамайды.