prototype って何が良いの?何で必要なの?メリットって何?

って疑問が前々からあったんだけど、第4回 JavaScriptでオブジェクト指向プログラミングで理解!!!!!ポイントとしては、

必要なメモリ量を節約できる

「関数オブジェクトをインスタンス化した場合、インスタンスは基となる関数オブジェクトに属するprototypeオブジェクトに対して、暗黙的な参照を持つことになる」

ということは

function Hoge() {
  this.huge = _huge;
  function _huge() {
  }
}

と書くよりも

function Hoge() {}
Hoge.prototype.huge = function(){}

と書いた方が、new Hoge() を連発した場合に(・∀・)イイ!

プロトタイプ・オブジェクトの変更はリアルタイムに認識

インスタンスを生成した「後」に、基となるプロトタイプ・オブジェクトにメンバを追加した場合にも、これを認識できるという点である。

プロトタイプをオブジェクト・リテラルで定義する

function Hoge(){}
Hoge.prototype = {
  huge: function() {
  },
  hage: function() {
  }
}

と一気に沢山書けて記述量も減らせて(・∀・)イイ!

プロトタイプ・チェーン − JavaScriptの継承機構 −

のプロトタイプに格納されたオブジェクトの基となるオブジェクトのプロトタイプから適合するメンバを検索する


最近の流行の書き方が何故流行っているのかがなんとなく分かった気がした。javascripter に一歩近づけたかな。