|
||||||||||||||||
| 前のページ 1 2 | ||||||||||||||||
| コンストラクタ | ||||||||||||||||
|
関数オブジェクトをnewするとオブジェクトができるといいましたが、このような使われかたをする関数オブジェクトのことを「コンストラクタ」と呼びます。コンストラクタはnewされると、新しいオブジェクトを生成しそれをthisとしてコンストラクタの処理を呼び出します。 リスト7の例を見てください。 リスト7:コンストラクタによる初期化
var Human = function(name) {
Humanコンストラクタをnew演算することによって、新しくオブジェクトが生成されて初期化されたのが分かります。コンストラクタに初期化処理を記述することによって、そのままオブジェクトを作るより複雑な初期化を行うことができます。 |
||||||||||||||||
| プロトタイプ | ||||||||||||||||
|
コンストラクタを用いることで、複雑な初期化ができると紹介しました。しかし、コンストラクタは処理だけでオブジェクトを組立てるため、作られるオブジェクトの全貌がソースコードから見渡しにくくなってしまいます。そこで、JavaScriptではもうひとつのオブジェクト初期化方法を用意しています。それが、プロトタイプです。 プロトタイプとはオブジェクトの雛型となるオブジェクトのことで、コンストラクタが呼び出される前にあらかじめプロパティを与えることができます。 プロトタイプの定義方法は簡単で、コンストラクタのprototypeプロパティにオブジェクトを格納しておくだけです。格納されたオブジェクトがそのクラスのプロトタイプになります。例えばリスト7の例を、プロトタイプを使ってリスト8のように書くことができます。 リスト8:プロトタイプによる初期化
var Human = function(name) {
ここではこれ以上説明しませんが、実はこのプロトタイプという概念は、もっと深く非常に面白い概念です。興味があるかたは、「プロトタイプチェーン」というものを勉強してみてください。きっとプログラミング言語の知識の幅が、更に広がることでしょう。 |
||||||||||||||||
| 次回の内容 | ||||||||||||||||
|
次回は、本題のPrototype.jsを実際に使っていきます。 |
||||||||||||||||
|
前のページ 1 2 |
||||||||||||||||
|
|
||||||||||||||||
|
||||||||||||||||
|
|
||||||||||||||||
|
||||||||||||||||
|
|
||||||||||||||||
|
||||||||||||||||

