javascriptとは?
『 javascript』についてネットから情報検索した結果を表示しています。
[ 121] JavaScript - Wikipedia
[引用サイト] http://ja.wikipedia.org/wiki/JavaScript
文法はプロトタイプベースのオブジェクト指向型である。多くの場合は、C言語に似た手続き型言語のようなスタイルで書かれるが、関数型言語とも多くの類似点がある。近年ではその柔軟な設計が評価され、様々なアプリケーションで自動実行の用途におけるマクロ言語としても採用されている[1]。
当初は、テキストエディタで編集するだけの簡単なアプリ構築に使われていたが、近年では、IntelliJ IDEAやSpket IDEなどにより、IDEにコード補完・編集時のリアルタイム文法チェック・リファクタリングなどの機能が搭載されるようになり、大規模開発が可能となった。また、Ajaxにおける、ブラウザ間の互換性の問題は、JavaScriptライブラリにより吸収することで、大きく解決された。さらに、ExtJSなどの本格的なGUIライブラリの登場により、デスクトップアプリと差がないアプリを作ることが可能となった。また、DWRなどのJavaScriptとサーバ間をつなぐ技術の発達により、クライアント・サーバ間の通信が著しく容易になり、また、JettyなどのアプリケーションサーバがComet利用時のメモリ使用量の削減を実現したため、サーバからクライアントへの情報のPush型の配信が実用的となった。
なおJavaとScriptの間は詰めて表記する。Javaと名前や文法が似ているためしばしば混同されるが、互換性は全くない。Javaと呼ぶ場合はプログラミング言語Javaを指すので注意が必要。名前の由来については誕生を参照。
XMLHttpRequestや、IFRAMEを使った通信では、ダウンロード元のサーバ以外のURLにアクセスすることが出来ない。 そのため、一般的には、サーバを経由して他のドメインのリソースにアクセスすることが多いが、動的scriptタグの生成などにより、他のドメインのURLにアクセスすることが可能である。
悪意のあるユーザによってクロスサイトスクリプティングや、ブラウザクラッシャー等の危険性のあるページが生成される可能性がある。
ブラウザ間の、言語仕様そのものの実装に関する互換性は極めて高く、DOMなど関連仕様の実装に関する互換性も比較的高い。しかし、単純な装飾処理や入力チェック等は比較的安易に導入できるため、現状では利用者の多くが言語仕様やDOM仕様、ブラウザベンダの提供する技術文書等に目を通さずに使用している。このため各利用者の使用法に大きな癖があることが多い。ベンダにとっては新しいブラウザの開発にあたり、現存するウェブページの大半が問題なく表示・動作可能な製品を提供することも使命であるため、この実情がブラウザ間での完全な互換性を確立することを困難にしている。
1999年のECMA262-3以来、数えるほどのベンダ独自拡張があっただけで、言語仕様自体の変更は無かったと言える。しかし、XULでの使われ方や、Ajaxと呼ばれる使われ方など、複数の人間が長期間携わって作り管理するようなものが目に付くようになってきている。スレッド機能を持たないことを除けば、現在の言語仕様に限界が見えてきているわけではないが、より楽な管理を実現する為に、言語仕様改訂を待ち望む声は少なくない。
プロトタイプベースでは,原型(=プロトタイプ)となるインスタンスを継承して新しいクラスを作る。
[←前のページに戻る]