Sobes.tech
Junior

Чӣ гуна операторҳои import ва export дар JavaScript кор мекунанд?

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. Контекстта куллану: Модульләр үз контекстында үтәлә, глобаль мохиттән аерылган. Модульдә игълан ителгән үзгәрешләр глобаль исемлекне пычратмый, әгәр алар ачык итеп экспортланмаса.