Sobes.tech
Junior

Kā darbojas import un export operatori JavaScript?

sobes.tech AI

Atbilde no AI

JavaScript operatori import un export tiek izmanto, lai strādātu ar moduļiem, ļaujot sadalīt kodu neatkarīgās, atkārtoti izmantojamās daļās un pārvaldīt to savstarpējās atkarības.

export

export operators tiek izmantots, lai eksportētu mainīgos, funkcijas, klases vai citas vērtības no moduļa. Eksports var būt nosaukts vai noklusējuma.

Nosaukts eksports:

// module.js
export const myVariable = 10;
export function myFunction() { // ... }
export class MyClass { // ... }

Noklusējuma eksports: modulī var būt tikai viens noklusējuma eksports.

// module.js
const defaultValue = 'default value';
export default defaultValue;

import

import operators tiek izmantots, lai importētu vērtības, kuras ir eksportējuši citi moduļi.

Nosaukts imports:

// another-module.js
import { myVariable, myFunction } from './module.js';

Importēšana ar citu nosaukumu:

// another-module.js
import { myVariable as newVariableName } from './module.js';

Visu nosaukto eksportu importēšana kā objekts:

// another-module.js
import * as moduleAlias from './module.js';
// Pieejamība: moduleAlias.myVariable, moduleAlias.myFunction

Noklusējuma eksporta imports:

// another-module.js
import defaultValueName from './module.js';

Vienlaicīga nosaukta un noklusējuma eksporta imports:

// another-module.js
import defaultValueName, { myVariable, myFunction } from './module.js';

Darba principi:

  1. Statiska analīze: JavaScript dzinējs analizē import un export operatorus koda kompilācijas laikā, veidojot atkarību grafiku.
  2. "Dzīvas" saites: Importētās mainīgās nav kopijas no eksportētā moduļa vērtībām. Tās ir "dzīvas" saites (dzīvas atsauces) uz oriģinālo moduli. Ja eksportētājs maina vērtību, tas būs redzams caur importēto saiti.
  3. Vienreizēja izpilde: Katrs modulis tiek izpildīts tikai vienu reizi, pirmo reizi importējot. Eksporta rezultāti tiek kešoti un izmantoti turpmākajos importos.
  4. Lietošana kontekstā: Moduļi tiek izpildīti savā kontekstā, izolētā no globālās vides. Mainīgie, kas deklarēti modulī, neapgrūtina globālo vārdu telpu, ja tie nav skaidri eksportēti.