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. Կոնտեքստում օգտագործում: Մոդուլները կատարվում են իրենց սեփական կոնտեքստում, որը զատ է գլոբալ միջավայրից։ Մոդուլում հայտարարված փոփոխականները չեն աղտոտում գլոբալ անունների տարածքը, եթե դրանք բացահայտորեն չեն արտահանվել։