Ինչպես են աշխատում 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օպերատորները կոդի կոմպիլյացիայի ժամանակ, ստեղծելով կախվածությունների գրաֆ: - "Կենդանի" կապեր: Ներմուծված փոփոխականները չեն պատճեններ արտահանող մոդուլից։ Դրանք "կենդանի" կապեր են (կենդանի հղումներ) սկզբնաղբյուր մոդուլից։ Եթե արտահանվող մոդուլում փոփոխություն լինի, դա կտեսնվի ներմուծված կապի միջոցով:
- Միայն մեկ անգամ կատարման: Մոդուլի կոդը կատարվում է միայն առաջին անգամ ներմուծման ժամանակ։ Արտահանման արդյունքները պահվում են կեշում և օգտագործվում հաջորդ ներմուծումներում:
- Կոնտեքստում օգտագործում: Մոդուլները կատարվում են իրենց սեփական կոնտեքստում, որը զատ է գլոբալ միջավայրից։ Մոդուլում հայտարարված փոփոխականները չեն աղտոտում գլոբալ անունների տարածքը, եթե դրանք բացահայտորեն չեն արտահանվել։