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に各程度のコードだとクラスを作るほどではないんだけど、一応書けるようになっておかないといろいろ困るのかなーと。