Sobes.tech
Middle

JavaScript-də modul nümunəsinin nə olduğunu və harada tətbiq olunduğunu izah edin.

sobes.tech Süni İntellekt

AI-dan cavab

Modul nümunəsi kodu inkapsulyasiya etmək və ictimai və xüsusi interfeysi təyin etmək imkanı verir. Bu, dərhal çağırılan funksiyalar ifadələri (IIFE) və ya ES Modulları sintaksisi istifadə edilərək xüsusi sahə yaradılmaqla həyata keçirilir.

Tətbiq sahələri:

  • İnkapsulyasiya: Daxili tətbiqi gizlədir və yalnız lazım olan ictimai API-ni təmin edir.
  • Qlobal sahənin çirklənməsinin qarşısını almaq: Dəyişənlər və funksiyalar modul daxilində yerli qalır.
  • Kodun təşkili: Tətbiqi məntiqi bloklara bölür, bu da anlama və dəstək üçün asanlaşdırır.
  • Kodun təkrar istifadəsi: Modullar müxtəlif hissələrdə idxal edilə və istifadə edilə bilər.

IIFE istifadə nümunəsi:

// Xüsusi sahə yaradırıq
const myModule = (() => {
  // Xüsusi dəyişən
  let privateVariable = 'Mən xüsusiəm!';

  // Xüsusi funksiya
  const privateMethod = () => {
    console.log(privateVariable);
  };

  // İctimai funksiya
  const publicMethod = () => {
    console.log('Bu, ictimai funksiyadır.');
    privateMethod(); // Xüsusi funksiyaya giriş
  };

  // Yalnız ictimai üzvləri qaytarırıq
  return {
    publicMethod: publicMethod
  };
})();

// İctimai interfeys istifadə
myModule.publicMethod(); // "Bu, ictimai funksiyadır." və "Mən xüsusiəm!" göstərəcək
// myModule.privateVariable; // Xəta - əlçatan deyil
// myModule.privateMethod(); // Xəta - əlçatan deyil

ES Modulları istifadə nümunəsi:

// module.js
// Xüsusi dəyişən (ixrac edilmir)
const privateVariable = 'Mən ES Modulunda xüsusiəm!';

// Xüsusi funksiya (ixrac edilmir)
const privateMethod = () => {
  console.log(privateVariable);
};

// İctimai funksiya (ixrac edilir)
export const publicMethod = () => {
  console.log('ES Modulunda ictimai funksiya.');
  privateMethod();
};
// main.js
import { publicMethod } from './module.js';

publicMethod(); // "ES Modulunda ictimai funksiya." və "Mən ES Modulunda xüsusiəm!" göstərəcək