javascript OOP [draft]

javascript でオブジェクト指向プログラミングを行う為の基礎知識をまとめます。例によって多くの間違いを含んでおります。

オブジェクトの作成

javascript にはクラス構文がありません。function 構文でクラスオブジェクトを作成し、new 構文でインスタンスオブジェクトを作成します。

クラス定義

function 構文により関数を定義すると、自動的に同名のクラスオブジェクトが作成されます。

この関数はインスタンス生成時にコンストラクタとして実行されます。

function ClassObject(){
 statement
}

クラスオブジェクトはオブジェクトなので、インスタンスを生成しなくても実行できます。(function 構文によって定義されたのだから当たり前ですが。)

プロパティ、メソッドの定義

function ClassObject(a){
 this.propaty1 = 0;
 this.propaty2 = a;
}
ClassObject.prototype.method = function(){
 return this.property1;
}
var co = new ClassObject(2);
var b = co.method();

この項のまとめ

クラスオブジェクト
function 構文で定義。
インスタンスオブジェクト
new 構文によって生成されるオブジェクト、変数に代入しその変数名でアクセスする。
Closure.jp/ Laboratory/ javascript OOP
closer