自作コンパイラの部屋 > オブジェクト指向プログラム言語としてのJavaScript > 13.コンストラクタ
あまり知られていないようですが、JavaScriptはプログラマが独自のクラスを作成することができます。そのためには、コンストラクタの使用法を習得する必要があります。
JavaScriptは本質的に型のないダイナミックな言語仕様であり、宣言というものがありません。このため、クラスは宣言するものではなく、実行時にプロパティを設定(代入)することにより、クラスを定義します。
コンストラクタは関数の一種であり、以下のように
new 演算子により起動します。
var userObject = new UserConstructor(arg1, arg2, ...);
コンストラクタの例として、Pointクラスを作ってみます。Pointクラスは2次元の座標軸上の「点」を表します。
function Point(x, y) { this.x = x; this.y = y; } var p = Point(10, 20); document.writeln("p(", p.x, ", ", p.y, ")"); 実行結果:
上図のように、オブジェクトのメンバーアクセスには予約語 this を使います。コンストラクタ Point の中で this.x と単独の x が出てきますが、前者はメンバー x、後者は引数の x を指しています。この例のように名前を同一にする必要はもちろんありませんが、ここでは敢えて同一にできるという例を示しました。
目次 |