Prototype JavaScript Framework
PrototypeはJavaScriptアプリケーション開発のための様々な機能を提供する。その機能は、プログラミング用ショートカットからXMLHttpRequestを扱う重要な関数まで様々である。
Prototypeはクラス群とクラスベースのオブジェクトのためのライブラリ関数も提供する。これはJavaScript言語にはない部分である。一般にJavaScriptでのオブジェクト生成はプロトタイプベースである。オブジェクト生成関数には prototype プロパティがあり、このプロパティを割り当てられたオブジェクトは、その関数で生成されるオブジェクトのプロトタイプとして使用される。
Prototypeの関数 Object.extend(dest, src) はパラメータに2つのオブジェクトをとり、2番目のオブジェクトのプロパティを1番目のオブジェクトにコピーすることで継承をシミュレートする。結合したオブジェクトもその関数の結果として返される。上の例のように1番目のパラメータはベースとなるオブジェクトを生成し、2番目のパラメータは無名オブジェクトとして単にプロパティを追加定義するのに使う。サブクラス宣言は全て、関数コールの括弧の中でなされる。