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';
Эш принциблары:
- Статик анализ: JavaScript-движок
importһәмexportоператорларын кодны компиляцияләү вакытында анализлый, модульләр арасындагы бәйлелектәр графын төзи. - "Тирә-юнь" бәйләнешләр: Импортланган үзгәрешләр экспортлаучы модульнең кыйммәтләренең күчермәсе түгел. Алар — оригиналь модульдән "тіре" бәйләнешләр (тирә-юнь сылтамалар). Әгәр экспортлаучы модульдә үзгәреш булса, ул импортланган бәйләнеш аша күренәчәк.
- Бер тапкыр үтәлү: Һәр модульнең коды беренче тапкыр импортланганда гына үтәлә. Экспорт нәтиҗәләре кэшлана һәм киләсе импортларда кулланыла.
- Контекстта куллану: Модульләр үз контекстында үтәлә, глобаль мохиттән аерылган. Модульдә игълан ителгән үзгәрешләр глобаль исемлекне пычратмый, әгәр алар ачык итеп экспортланмаса.