この記事は更新が必要とされています。 この記事には古い情報が掲載されています。編集の際に新しい情報を記事に反映させてください。反映後、このタグは除去してください。(2015年12月) |
| 開発元 | Prototype Core Team |
|---|---|
| 最新版 | Prototype 1.7.3 /2015年9月22日 (10年前) (2015-09-22) |
| リポジトリ | |
| プログラミング 言語 | JavaScript |
| サポート状況 | 活発 |
| 種別 | JavaScriptツールキット |
| ライセンス | MIT License |
| 公式サイト | prototypejs.org |
| テンプレートを表示 | |
Prototype JavaScript Framework は、Sam Stephenson が開発したJavaScriptフレームワークであり、Ajaxフレームワークやその他のユーティリティを提供する。prototype.js という名前の1つのJavaScriptファイルで実装されている。単独でも入手できるが、Ruby on Rails、script.aculo.us、Ricoなどのもっと大きなプロジェクトの一部にもなっている。ただし、Ruby on Railsは3.1のバージョンから、デフォルトのJavaScriptライブラリがPrototype JavaScript FrameworkからjQueryに変更されている[1]。
PrototypeはJavaScriptアプリケーション開発のための様々な機能を提供する。その機能は、プログラミング用ショートカットからXMLHttpRequestを扱う重要な関数まで様々である。
Prototypeはクラス群とクラスベースのオブジェクトのためのライブラリ関数も提供する[2]。これはJavaScript言語にはない部分である[3][4]。一般にJavaScriptでのオブジェクト生成はプロトタイプベースである。オブジェクト生成関数にはprototype プロパティがあり、このプロパティを割り当てられたオブジェクトは、その関数で生成されるオブジェクトのプロトタイプとして使用される。
Prototypeの関数Object.extend(dest,src) はパラメータに2つのオブジェクトをとり、2番目のオブジェクトのプロパティを1番目のオブジェクトにコピーすることで継承をシミュレートする。結合したオブジェクトもその関数の結果として返される。上の例のように1番目のパラメータはベースとなるオブジェクトを生成し、2番目のパラメータは無名オブジェクトとして単にプロパティを追加定義するのに使う。サブクラス宣言は全て、関数コールの括弧の中でなされる。