Membuat Pola Modular

Disini kita memanfaatkan fungsi yang berjalan sendiri untuk membuat modul. Mari kita lihat kodenya

var awesomeNewModule = (function(){ 
  var exports = {
    foo: 5,
    bar: 10
  };

  exports.helloMars = function() {
    console.log("Hello Mars!");
  };

  exports.goodbye = function() {
    console.log("Goodbye!");
  };

  return exports

}());

Disini, kita memiliki dua buah fungsi ekspresi, helloMars _dan _goodbye. Tapi kedua fungsi ekspresi tersebut tidak dapat diakses dengan memanggil langsung, melainkan, kita harus memanggil dahulu modulnya, lalu dapat mengakses konten di dalamnya.

Disini, kita tidak akan mengalami konflik penamaan jika terdapat nama ekspresi yang sama, karena posisinya ada di dalam suatu modul.

Jadi untuk memanggil helloMars kita perlu memanggil dahulu nama modulnya, kemudian fungsinya

awesomeNewModule.helloMars() // "Hello Mars!"

Atau dengan sedikit cara yang berbeda, akan tampak seperti ini

(function() {

    // declare private variables and/or functions

    return {
      // declare public variables and/or functions
    }

})();

Hanya fungsi yang kita tuliskan di dalam return yang akan bersifat global, selebihnya adalah privasi dai fungsi tersebut.

results matching ""

    No results matching ""