JavaScriptパターン 第5章の続き

前回の続き。

プライベート関数をパブリックメソッドとして開示する

var aaa;

(function(){
  function b() {
    console.log('b');
  }
  function c() {
    console.log('c');
  }
  // publicにする
  aaa = {
    b: b,
    c: c,
    a: b
  };
}());

aaa.b();  // b
aaa.c();  // c
aaa.a();  // b

aaa.b = null;  // bが上書きされてもaは使える
aaa.a();  // b
aaa.b();  // error!

……これで合ってるのかな?