JavaScriptでクラスとか委譲とか

コンストラクタはfunctionに対してnewをして、prototypeは継承されて……とかは知ってるし、コードも一応書ける。(つもり)
で、その先の継承とかってどうなん?と思っていろいろ書いてみた。継承めんどいから委譲にしたけど。

JavaScriptパターンのモジュールパターンだった気がする記法

クラス2 - jsdo.it - share JavaScript, HTML5 and CSS

var a = (function(){

  var private = 0;

  function write_() {
    document.write(private);
  }

  function getPrivate_() {
    return private;
  }

  function setPrivate_(value) {
    private = value;
  }

  return {
    get: getPrivate_,
    set: setPrivate_,
    write: write_
  };

}());
a.write();  // 0
typeof a.write_; // undefined

モジュールパターンってこんなじゃなかったっけ……
上のやつは即時関数でかこってあるだけでモジュールパターンとは関係ないか?

委譲

クラス3 - jsdo.it - share JavaScript, HTML5 and CSS


どうしてもthisの中身が簡単には隠せないけど、そこはLua的に触れるけど触らなきゃいいんじゃね?的なアプローチ(Luaってそうだったよね?)でひとつ。
jsdo.itに各程度のコードだとクラスを作るほどではないんだけど、一応書けるようになっておかないといろいろ困るのかなーと。