Prototype JavaScript Framework は、Sam Stephenson が開発したJavaScriptフレームワークであり、Ajaxフレームワークやその他のユーティリティを提供する。 という名前の1つのJavaScriptファイルで実装されている。単独でも入手できるが、Ruby on Rails、script.aculo.us、Ricoなどのもっと大きなプロジェクトの一部にもなっている。ただし、Ruby on Railsは3.1のバージョンから、デフォルトのJavaScriptライブラリがPrototype JavaScript FrameworkからjQueryに変更されている。

特徴 PrototypeはJavaScriptアプリケーション開発のための様々な機能を提供する。その機能は、プログラミング用ショートカットからXMLHttpRequestを扱う重要な関数まで様々である。

Prototypeはクラス群とクラスベースのオブジェクトのためのライブラリ関数も提供するDefining classes and inheritance, in the Prototype documentation。これはJavaScript言語にはない部分であるClass-based vs prototype-based languages, in mozilla.org's JavaScript guide Inheriting Properties, in mozilla.org's JavaScript guide。一般にJavaScriptでのオブジェクト生成はプロトタイプベースである。オブジェクト生成関数には プロパティがあり、このプロパティを割り当てられたオブジェクトは、その関数で生成されるオブジェクトのプロトタイプとして使用される。

Prototypeの関数 Object.extend(dest, src) はパラメータに2つのオブジェクトをとり、2番目のオブジェクトのプロパティを1番目のオブジェクトにコピーすることで継承をシミュレートする。結合したオブジェクトもその関数の結果として返される。上の例のように1番目のパラメータはベースとなるオブジェクトを生成し、2番目のパラメータは無名オブジェクトとして単にプロパティを追加定義するのに使う。サブクラス宣言は全て、関数コールの括弧の中でなされる。

関連項目 Ajax JQuery

脚注・出典

外部リンク Prototype Javascript Framework ホームページ Prototype API documentation Unofficial Prototype & Script.aculo.us wiki and FAQ - コミュニティメンバーが作成 Nick Stakenburg's Prototip2 package - Prototype上で構築されている