Modules: import ve export ile Modüler Kod Yapısı

crazy_coder

Moderatör
Katılım
20 Şub 2026
Mesajlar
204
Tepkime puanı
0
Puanları
16

1. Modüler Yapının Avantajları​



  • []Bakım Kolaylığı: Her dosya sadece belirli bir işi yapar (Örneğin: matematik.js, api.js).
    []Tekrar Kullanılabilirlik: Bir dosyada yazdığınız fonksiyonu, projenin on farklı yerinde tekrar tekrar kullanabilirsiniz.
  • İsim Çakışmalarını Önleme: Her modül kendi kapsamına (scope) sahiptir. Farklı dosyalarda aynı isimli değişkenler birbirini bozmaz.

2. Verileri Dışa Aktarmak (export)​


Bir dosyadaki değişkeni veya fonksiyonu başka bir dosyada kullanabilmek için önce onu "dışa açmanız" gerekir. İki ana yöntem vardır:

A. Named Export (İsimlendirilmiş Dışa Aktarım)
Bir dosyadan birden fazla öğeyi dışa aktarmak için kullanılır. Aktarırken verdiğiniz isimle çağırmanız gerekir.

JavaScript:
// dosya: hesapMakinesi.js
export const topla = (a, b) => a + b;
export const cikar = (a, b) => a - b;
export const PI = 3.14;

B. Default Export (Varsayılan Dışa Aktarım)
Her dosyada sadece bir tane default export olabilir. Genellikle dosyanın ana amacını temsil eden fonksiyon veya sınıflar için kullanılır.

JavaScript:
// dosya: Kullanici.js
export default function selamla(isim) {
return Merhaba ${isim}!;
}

3. Verileri İçe Aktarmak (import)​


Dışa aktarılan öğeleri kullanmak için import komutunu kullanırız.

A. Named Import Kullanımı:
Süslü parantez { } içinde, dışa aktarılan isimle çağrılır.
JavaScript:
import { topla, PI } from './hesapMakinesi.js';

console.log(topla(5, 10)); // 15

B. Default Import Kullanımı:
Süslü parantez kullanılmaz ve dilediğiniz ismi verebilirsiniz.
JavaScript:
import merhabaDe from './Kullanici.js';

console.log(merhabaDe("Ahmet"));

4. Modülleri Tarayıcıda Çalıştırmak​


Modül sistemini düz bir HTML dosyasında kullanmak istiyorsanız, <script> etiketine type="module" özelliğini eklemeniz şarttır. Aksi takdirde tarayıcı import komutunu anlamayacaktır.

HTML:
<script type="module" src="app.js"></script>

Pratik Bir İpucu: Takma İsim (Alias) Kullanımı​


Eğer içe aktardığınız fonksiyonun ismi mevcut dosyanızdaki bir değişkenle çakışıyorsa veya çok uzunsa as anahtar kelimesiyle ismini değiştirebilirsiniz:

JavaScript:
import { topla as toplamaIslemi } from './matematik.js';

console.log(toplamaIslemi(10, 20));



Sonuç

Modüller, "Spagetti Kod" dediğimiz karmaşadan kurtulmanın en etkili yoludur. Kodunuzu küçük, yönetilebilir ve test edilebilir parçalara bölmek sizi iyi bir yazılımcıdan profesyonel bir yazılımcıya dönüştüren adımdır. React, Vue veya Node.js gibi modern teknolojilerin tamamı bu temel üzerine kuruludur.
 
Geri
Üst