【JavaScript】プロトタイプベースオブジェクト指向を理解できたかも。

本「Head First JavaScript」の表紙

JavaScript のオブジェクト指向はプロトタイプベースというらしいが、これが今ひとつ意味不明で理解不能でいた。

今までいろいろなサイトやら本やらを読んでもピンと来なかったわけだが、今日、オライリーの Head First JavaScript という本の456ページ目の上半分を読んだだけでピンときた。この本はすごい。

ぼくが勘違いしていたのは、プロトタイプはインスタンスに使うものだと思ってたんだけど、そうじゃなくて、クラスに使うんだって。

プロトタイプを使って、Array クラスを拡張してみた例。

<script type="text/javascript">
//Arrayのプロトタイプに
//メソッド ahya() を追加してみた。
Array.prototype.ahya = function(){
	alert('ahya');
}

//普通の配列を作る。
//配列はつまり、Arrayクラスのインスタンス。
var $sampleArray = [1,2,3,4,5];

//だとしたら、メソッド ahya() が使えるハズ!
$sampleArray.ahya();

</script>

なるほどぅ、そういう意味だったんですね!納得っ!

心の痞えがひとつ取れました。

コメント (2件)

2009年1月16日(Fri) 9時21分13秒 てさき

既に作られているインスタンスにもまとめてメソッド追加できるのが好いな、プロトタイプとは関係ないけど


2009年1月28日(Wed) 22時13分10秒 コヤナギ トモヤ

おお、てさきさん。長らく放置してすみません。(いま気づいた・・・)

なんとなく仕組みは理解できたと思うんですが、これが「どう便利なのか」が、いまひとつ理解できておりません・・・。まだまだお勉強が必要そうです。



プロフィール

コヤナギ トモヤ

まったりウェブ系コーダーしてます。PHP製静的CMS Pickles 2 を開発しています。

RSSフィード

  • このサイトは、 コヤナギ トモヤ の個人サイトです。
  • 個人的な主張や、活動の記録などを掲載しています。 所属する企業、団体、その他の意見や立場を代表するものではありません。
  • 掲載された内容は古くなっている可能性があります。 特に古い記事では、現在の筆者の考えと異なる主張をしていることがありますが、記録としてそのまま残しております。 予めご了承ください。
ページの先頭へ戻る