技術情報
クラス
定義
ユーザ定義クラスは関数のように function を用いて定義します。

/* クラスの宣言 */
function クラス名 (プロパティ1, プロパティ2, ...)
{
// プロパティの設定
this.プロパティ1 = プロパティ1;
this.プロパティ2 = プロパティ2;
...

// オーバライドの設定
this.toString = オーバライドする関数名;
...

// ユーザ定義メソッド
this.ユーザ定義メソッド1 = メソッド別名1; // 別途関数定義必要
this.ユーザ定義メソッド2 = function() // 直接定義
{
...
}
}

/* クラスの利用 */
var myObj = new クラス名("値1", "値2", ...);
継承
定義済みクラスを継承した新しいクラスを作ることができます。

/* クラスの宣言 */
function 新クラス名 (元プロパティ1, 元プロパティ2, 新プロパティ1, ...)
{
// プロパティの設定
this.新プロパティ1 = 新プロパティ1;
元クラス.call(this, 元プロパティ1, 元プロパティ2);
...

// オーバライドの設定
this.toString = オーバライドする関数名;
...

// ユーザ定義メソッド
...

}
}

/* クラスの利用 */
var myObj = new 新クラス名("値1", "値2", "値3", ...);
プロトタイプ
プロトタイプはクラスに定義するプロパティやメソッドを共通化します。
これによりメモリ消費を抑えることができます。

/* 通常のクラスメソッドの宣言 */
this.ユーザ定義メソッド2 = function()
{
...
}

/* プロトタイプ設定 */
this.prototype.ユーザ定義メソッド2 = function()
{
...
}