Sobes.tech
Junior

Hogyan működnek az import és export operátorok a JavaScriptben?

sobes.tech MI

Válasz az MI-től

A JavaScript-ben az import és export operátorokat moduláris kód kezelésére használják, lehetővé téve a kód szétválasztását független, többszörösen újrafelhasználható részekre, és a közöttük lévő függőségek kezelését.

export

Az export operátor segítségével változókat, függvényeket, osztályokat vagy más értékeket exportálhatunk egy modulból. Az export lehet név szerintes vagy alapértelmezett.

Név szerintes export:

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

Alapértelmezett export: egy modulnak csak egy alapértelmezett exportja lehet.

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

import

Az import operátor segítségével importálhatunk értékeket, amelyeket más modulok exportáltak.

Név szerintes import:

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

Más névvel történő importálás:

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

Az összes név szerintes exportot objektumként importálhatjuk:

// another-module.js
import * as moduleAlias from './module.js';
// Hozzáférés: moduleAlias.myVariable, moduleAlias.myFunction

Alapértelmezett export importálása:

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

Egyszerre a név szerintes és az alapértelmezett export importálása:

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

Működési elvek:

  1. Statikus elemzés: A JavaScript motor elemzi az import és export operátorokat a fordítás során (a kód futtatása előtt), és függőségi gráfot hoz létre a modulok között.
  2. "Élő" kapcsolatok: Az importált változók nem másolatok a kiexportált értékekről. Ezek "élő" kapcsolatok (élő hivatkozások) az eredeti modul változóira. Ha az exportáló modulban egy változó értéke megváltozik, ez a változás látható lesz az importált kapcsolaton keresztül.
  3. Egyszeri végrehajtás: Minden modul kódja csak egyszer fut le az első importáláskor. Az export eredményei cache-be kerülnek, és a későbbi importok során újra felhasználódnak.
  4. Környezetben való használat: A modulok saját környezetükben futnak, elszigetelten a globális tértől. A modul gyökérben deklarált változók nem szennyezik a globális teret, kivéve, ha kifejezetten exportálják őket.