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:
- Statikus elemzés: A JavaScript motor elemzi az
importésexportoperá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. - "É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.
- 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.
- 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.