Sobes.tech
Middle

JavaScript'te modül deseninin ne olduğunu ve nerede kullanıldığını açıklayın.

sobes.tech yapay zeka

AI'dan gelen yanıt

Modül deseni, kodu kapsüllemek ve genel ve özel arayüzü tanımlamak için kullanılır. Bu, hemen çağrılan fonksiyon ifadeleri (IIFE) veya ES Modülleri sözdizimi kullanılarak özel bir alan oluşturarak başarılır.

Uygulama alanları:

  • Kapsülleme: İç uygulamayı gizler, yalnızca gerekli olan genel API'yi sağlar.
  • Küresel alanın kirlenmesini önleme: Değişkenler ve fonksiyonlar modül içinde yerel kalır.
  • Kod organizasyonu: Uygulamayı mantıksal bloklara ayırır, böylece anlama ve bakım kolaylaşır.
  • Kodun yeniden kullanımı: Modüller, uygulamanın farklı bölümlerinde içe aktarılabilir ve kullanılabilir.

IIFE kullanımıyla örnek:

// Özel bir alan oluşturuyoruz
const myModule = (() => {
  // Özel değişken
  let privateVariable = 'Ben özelim!';

  // Özel fonksiyon
  const privateMethod = () => {
    console.log(privateVariable);
  };

  // Genel fonksiyon
  const publicMethod = () => {
    console.log('Bu, genel bir fonksiyondur.');
    privateMethod(); // Özel fonksiyona erişim
  };

  // Sadece genel üyeleri döndür
  return {
    publicMethod: publicMethod
  };
})();

// Genel arayüz kullanımı
myModule.publicMethod(); // "Bu, genel bir fonksiyondur." ve "Ben özelim!" yazdırır
// myModule.privateVariable; // Hata - erişilemez
// myModule.privateMethod(); // Hata - erişilemez

ES Modülleri kullanımıyla örnek:

// module.js
// Özel değişken (dışa aktarılmaz)
const privateVariable = 'Ben ES Modülünde özelim!';

// Özel fonksiyon (dışa aktarılmaz)
const privateMethod = () => {
  console.log(privateVariable);
};

// Genel fonksiyon (dışa aktarılır)
export const publicMethod = () => {
  console.log('ES Modülünde genel fonksiyon.');
  privateMethod();
};
// main.js
import { publicMethod } from './module.js';

publicMethod(); // "ES Modülünde genel fonksiyon." ve "Ben ES Modülünde özelim!" yazdırır