JavaScript'te import ve export operatörleri nasıl çalışır?
sobes.tech yapay zeka
AI'dan gelen yanıt
JavaScript'te import ve export operatörleri, modüllerle çalışmak için kullanılır, kodu bağımsız, tekrar kullanılabilir parçalara ayırmaya ve aralarındaki bağımlılıkları yönetmeye olanak tanır.
export
export operatörü, bir modülden değişkenler, fonksiyonlar, sınıflar veya diğer değerleri dışa aktarmak için kullanılır. Dışa aktarım isimli veya varsayılan olabilir.
İsimli dışa aktarım:
// module.js
export const myVariable = 10;
export function myFunction() { // ... }
export class MyClass { // ... }
Varsayılan dışa aktarım: Bir modülde yalnızca bir varsayılan dışa aktarım olabilir.
// module.js
const defaultValue = 'default value';
export default defaultValue;
import
import operatörü, diğer modüller tarafından dışa aktarılan değerleri içe aktarmak için kullanılır.
İsimli içe aktarma:
// another-module.js
import { myVariable, myFunction } from './module.js';
Başka bir isimle içe aktarma:
// another-module.js
import { myVariable as newVariableName } from './module.js';
Tüm isimli dışa aktarılanları nesne olarak içe aktarma:
// another-module.js
import * as moduleAlias from './module.js';
// Erişim: moduleAlias.myVariable, moduleAlias.myFunction
Varsayılan dışa aktarma içe aktarma:
// another-module.js
import defaultValueName from './module.js';
İsimli dışa aktarma ve varsayılan dışa aktarmayı aynı anda içe aktarma:
// another-module.js
import defaultValueName, { myVariable, myFunction } from './module.js';
Çalışma prensipleri:
- Statik analiz: JavaScript motoru,
importveexportoperatörlerini derleme sırasında (kod çalıştırılmadan önce) analiz eder ve modüller arasında bağımlılık grafiği oluşturur. - "Canlı" bağlamlar: İçe aktarılan değişkenler, dışa aktaran modüldeki değerlerin kopyaları değildir. Bunlar, orijinal modüldeki değişkenlere "canlı" bağlamlar (canlı referanslar)dır. Bir dışa aktarma modülündeki değişkenin değeri değişirse, bu değişiklik içe aktarılan bağlam aracılığıyla görülebilir.
- Tek seferlik yürütme: Her modülün kodu, bu modül ilk kez içe aktarıldığında yalnızca bir kez yürütülür. Dışa aktarma sonuçları önbelleğe alınır ve sonraki içe aktarmalarda kullanılır.
- Bağlamda kullanım: Modüller, kendi bağlamlarında çalıştırılır, küresel alanın dışında izole edilmiştir. Modül kökünde tanımlanan değişkenler, açıkça dışa aktarılmadıkça küresel alanı kirletmez.